문제

Codedom과 함께 클래스 제약을 생성하는 방법이 있습니까?

내가 같은 것을 사용할 때

var method = new CodeMemberMethod();
var genericParam = new CodeTypeParameter("InterfaceType");
genericParam.Constraints.Add("class");
method.TypeParameters.Add(genericParam);

생성 된 코드는와 같습니다

private InterfaceType GetImpl<InterfaceType>()
    where InterfaceType : @class
{
}

내가 찾은 최고의 해결 방법은 수업 전에 선행 공백을 사용하는 것입니다.

genericParam.Constraints.Add(" class");

그러나 이것은 기껏해야 해결 방법 인 것 같습니다.

도움이 되었습니까?

해결책

해당 제약 조건을 지정할 수있는 방법이없는 것 같습니다. 어느 것도 아니다 "구조"제약 조건.

"t : new ()"제약 조건을 위해 플래그를 사용하십시오. HasConstructorConstraint

나머지의 경우 CodetyPereference를 사용하십시오 이 MSDN 예.

다른 팁

나는 또한 제로 폭 공간을 사용합니다 ("\x200Bclass") 정상적인 공간 대신. 그런 다음 최종 문자열로 비어있는 문자열로 교체합니다. .Replace("\x200B", string.Empty);

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top