为什么Azure功能不能与Generics一起使用?

viv*_*una -1 c# generics azure azure-storage azure-functions

我要求我必须TEntity在课堂上使用.但是在将Generics与类一起使用时,Azure功能无法正常工作.它甚至没有在控制台上显示.但是,如果我TEntity从类声明中删除它在控制台中显示.所以这不受支持吗?或者有任何解决方法吗?我在互联网上搜索过但发现与此无关.

public static class DataFilesIngestJobs<TEntity>
{
    [FunctionName("IngestDataFilesScheduled")]
    public static async Task RunScheduleAsync(
        [TimerTrigger("%DataFiles:IngestJob:ScheduleExpressionTrigger%")] TimerInfo timer,
        ExecutionContext context,
        TraceWriter log)
    {
        await RunAsync(context, log);
    }

    [FunctionName("IngestDataFilesOnDemand")]
    public static async Task RunOnDemandAsync(
        [QueueTrigger("%DataFiles:IngestJob:OnDemandQueueNameTrigger%", Connection = "ConnectionStrings:BlobStorageAccount")] string queueItem,
        ExecutionContext context,
        TraceWriter log)
    {
        await RunAsync(context, log);
    }
}
Run Code Online (Sandbox Code Playgroud)

TEntity从类中删除时的控制台输出.

找到了以下功能:[3/21/2018 6:52:41 AM] MyCompany.MyProject.DataFilesIngestJobs.RunScheduleAsync [3/21/2018 6:52:41 AM] MyCompany.MyProject.DataFilesIngestJobs.RunOnDemandAsync

Mik*_*kov 5

WebJobs SDK在搜索FunctionName属性时显式丢弃泛型类型:

return type.IsClass
    && (!type.IsAbstract || type.IsSealed)
    && type.IsPublic
    && !type.ContainsGenericParameters;
Run Code Online (Sandbox Code Playgroud)

源代码.

我想那是因为他们在调用函数方法时不知道哪个类型用作泛型参数.