private bool TryCreateFunctionMetadata(MethodDefinition method, out SdkFunctionMetadata?function) { function = null; foreach (CustomAttribute attribute in method.CustomAttributes) { if (attribute.AttributeType.FullName == "Microsoft.Azure.WebJobs.FunctionNameAttribute") { TypeDefinition declaringType = method.DeclaringType; string assemblyName = declaringType.Module.Assembly.Name.Name; var functionName = attribute.ConstructorArguments.SingleOrDefault().Value.ToString(); if (string.IsNullOrEmpty(functionName)) { continue; } function = new SdkFunctionMetadata { Name = functionName, ScriptFile = $"bin/{assemblyName}.dll", EntryPoint = $"{declaringType.GetReflectionFullName()}.{method.Name}", Language = "dotnet-isolated" }; function.Properties["IsCodeless"] = false; return(true); } } return(false); }
private SdkFunctionMetadata CreateSdkFunctionMetadata(string functionName, string actualMethodName, string declaringTypeName, string assemblyName) { var function = new SdkFunctionMetadata { Name = functionName, ScriptFile = $"{assemblyName}.dll", EntryPoint = $"{declaringTypeName}.{actualMethodName}", Language = "dotnet-isolated" }; function.Properties["IsCodeless"] = false; return(function); }