in sdk/Sdk/FunctionMetadataGenerator.cs [396:414]
private static TypeReference? GetTaskElementType(TypeReference typeReference)
{
if (typeReference is null || string.Equals(typeReference.FullName, Constants.TaskType, StringComparison.Ordinal))
{
return null;
}
if (typeReference.IsGenericInstance
&& typeReference is GenericInstanceType genericType
&& string.Equals(typeReference.GetElementType().FullName, Constants.TaskGenericType, StringComparison.Ordinal))
{
// T from Task<T>
return genericType.GenericArguments[0];
}
else
{
return typeReference;
}
}