private static bool TryAddExtensionInfo()

in sdk/Sdk/FunctionMetadataGenerator.cs [763:790]


        private static bool TryAddExtensionInfo(IDictionary<string, string> extensions, AssemblyDefinition extensionAssemblyDefinition, bool usedByFunction = true)
        {
            foreach (var assemblyAttribute in extensionAssemblyDefinition.CustomAttributes)
            {
                if (string.Equals(assemblyAttribute.AttributeType.FullName, Constants.ExtensionsInformationType, StringComparison.Ordinal))
                {
                    string extensionName = assemblyAttribute.ConstructorArguments[0].Value.ToString();
                    string extensionVersion = assemblyAttribute.ConstructorArguments[1].Value.ToString();
                    bool implicitlyRegister = false;

                    if (assemblyAttribute.ConstructorArguments.Count >= 3)
                    {
                        // EnableImplicitRegistration
                        implicitlyRegister = (bool)assemblyAttribute.ConstructorArguments[2].Value;
                    }

                    if (usedByFunction || implicitlyRegister)
                    {
                        extensions[extensionName] = extensionVersion;
                    }

                    // Only 1 extension per library
                    return true;
                }
            }

            return false;
        }