2012-10-04 5 views
8

최신 버전의 Monotouch를 설치했으며 빌드를 장치에 배포하려고 할 때 다음 오류가 표시되기 시작했습니다.일반 참조 유형 오류 monotouch

오류 MT4112 : 레지스트라에서 유효하지 않은 유형을 발견했습니다. 일반 유형 인수 'T'에 ObjectiveC로 내보낼 수 있도록 참조 유형 제약 조건이 있어야합니다. (MT4112)

여기서 클래스에 where 절을 추가해야하지만 Monotouch에서 작동하지 않는 것 같습니다.

public class NotificationObject<T> : NSObject 
{ 
    public T Data { get; set; } 
} 

답변

10

이 내용은 MonoTouch 6.0.2에서 알려진 issue입니다.

NSObject의 제네릭 서브 클래스를 만들거나 제네릭 클래스를 ObjectiveC로 내보내는 기능은 지원되지 않습니다. 작동 할 수도 있고, 설명 할 수 없거나 무작위로 충돌 할 수도 있습니다.

향후 내 보낸 일반 제네릭 클래스의 일부 시나리오를 지원할 계획이지만 즉시 로드맵에 있지 않으므로 아직 타임 라인이 없습니다.

+0

응답 해 주셔서 감사합니다. 고맙게 생각합니다. –

+0

MonoTouch 6.0.3은 컴파일러 오류를 경고로 옮깁니다. 컴파일시 도움이되지만 Rolf와 연결된 버그 보고서의 메모에 따라 앱 충돌로 이어질 수 있습니다. – benhorgen