1

与えられたクラス:

public class BaseGameView : OpenTK.Platform.iPhoneOS.iPhoneOSGameView {

実行時に構築すると、System.ExceptionBaseGameViewがスローされます。セレクターlayerClassが見つかりませんでした...これは、クラス定義に以下を追加することで簡単に解決できます。

    [Export ("layerClass")]
    public static new Class GetLayerClass()
    {
        return iPhoneOSGameView.GetLayerClass();
    }

次のように別のクラスを導出するまで、これはそれほど望ましくありません。

public class DerivedGameView : BaseGameView {

DerivedGameViewそのクラスからもExport( "layerClass")しない限り、を構築しても同じ例外がスローされます。

どうすればこれを乾かすことができますか?私はこれらの派生ビューをいくつか持っており、それらはすべて、レイヤークラスをエクスポートする同じコードスニペットを持っている必要があります...繰り返したくありません。

関連する質問は次のとおりです。
単純に派生したクラスにこれが必要ないのはなぜUIViewですか。

乾杯!

4

1 に答える 1

2

これは現在、MonoTouch内の制限です。基本クラスの静的メソッドはエクスポートされません。

このバグレポートを提出しました:https ://bugzilla.xamarin.com/show_bug.cgi?id = 6170-このバグについて自分でCCを実行すると、修正されたときに通知を受け取ることができます。

于 2012-07-18T10:27:55.883 に答える