문제

나는 사용하고있다 동시성 및 조정 런타임 그리고 문서에 설명 된 것과 유사한 코드를 작성하고 있습니다. 다음 줄은 컴파일되지 않습니다.

yield return new IterativeTask<string,Object,Object,long[]>("Hi",a,b,ls, itfunc);

컴파일러는이 오류 메시지를 제공합니다.

The non-generic type 'Microsoft.Ccr.Core.IterativeTask' cannot be used with type arguments

문서가 유형 인수와 함께 해당 메소드를 사용하고 분명히 일반적이기 때문에 잘못된 것입니다.

(나는 여기에 내 자신의 대답을 게시 할 것입니다. 격려 내가 이해하면서)

도움이 되었습니까?

해결책

ITERATIVETASK에서 사용할 수있는 일반 매개 변수의 수에는 한계가 있음이 밝혀졌습니다.

따라서이 코드는 컴파일됩니다 (일단 ITFUNC를 변경하여 하나의 인수를 사용하여) :

yield return new IterativeTask<string,Object,long[]>("Hi",a,ls, itfunc);

인수의 모든 정보가 실제로 필요하다면, 당신은 그것들을 보유 할 유형을 만들 수 있습니다.

struct Z {
  string msg;
  Object one;
  Object two;
  long[] ls;
}

Z z = new Z { msg="Hi", one=a, two=b, ls= longs };
yield return new IterativeTask<Z>(z, itfunc);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top