in src/Microsoft.Azure.WebJobs.Extensions.Kafka/Output/AsyncCollectorArgumentBindingProvider.cs [15:40]
public IArgumentBinding<KafkaProducerEntity> TryCreate(ParameterInfo parameter)
{
Type parameterType = parameter.ParameterType;
if (!parameterType.IsGenericType)
{
return null;
}
Type genericTypeDefinition = parameterType.GetGenericTypeDefinition();
if (genericTypeDefinition != typeof(IAsyncCollector<>))
{
return null;
}
var genericArguments = parameterType.GetGenericArguments();
if (genericArguments.Length == 1)
{
var valueType = genericArguments[0];
return CreateBinding(valueType);
}
throw new Exception($"Could not create IAsyncCollector binding for {parameterType.Name}");
}