Azure Functions : 입력 매개 변수로 일반 형식

Dec 02 2020

제네릭 형식 입력 매개 변수를 처리하는 하늘빛 함수를 갖는 이상적인 접근 방식을 찾고 있습니다. 예 :

    [FunctionName(nameof(SendToQueueActivityFunction))]
    public async Task SendToQueueActivity<T>([ActivityTrigger] SendToQueueRequest<T> sendToQueueRequest)

기본적으로 "SendToQueueActivity"는 T 유형의 모든 개체를 보낼 수 있어야합니다.

위의 코드는 작동하지 않습니다. 함수 바인딩이 제네릭을 지원하지 않는 경우 입력 유형에 따라 함수가 다르게 작동하도록하려면 올바른 접근 방식이 무엇이어야합니다. "동적"유형을 사용하는 것보다 더 깨끗한 구현 방법을 찾고 있습니다.

시간과 의견에 감사드립니다.

답변

DorisLv Dec 02 2020 at 09:54

링크 Bryan에서 볼 수 있듯이 제네릭 유형은 Azure 함수에서 지원되지 않습니다.

WebJobs SDK는 FunctionName 속성을 검색 할 때 일반 유형을 명시 적으로 삭제합니다.

return type.IsClass
   && (!type.IsAbstract || type.IsSealed)
   && type.IsPublic
   && !type.ContainsGenericParameters;

소스 코드를 참조하십시오 .

참고:

  1. https://github.com/Azure/Azure-Functions/issues/735
  2. Azure 함수가 Generics에서 작동하지 않는 이유는 무엇입니까?