2012-10-04 25 views
8

私はMonotouchの最新バージョンをインストールしました。ビルドをデバイスに展開しようとすると、次のエラーが表示され始めました。一般参照型エラーmonoTouch

エラーMT4112:レジストラが無効な型を見つけましたObjectiveCにエクスポート可能にするために、汎用型引数 'T'に参照型制約が必要です。 (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