2012-07-17 17 views
1

提供類:我可以避免從iPhoneOSGameView派生的視圖中導出LayerClass嗎?

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

在運行時構建BaseGameView將拋出的System.Exception:未能找到選擇layerClass ...這是很容易解決了通過添加以下類定義:

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

這不是那麼不希望的,直到我派生另一個類,如下所示:

public class DerivedGameView : BaseGameView { 

構造DerivedGameView也會引發相同的異常,除非我也從該類中導出(「layerClass」)。

我該如何DRY這個出來?我有一些這些派生視圖,他們都必須有相同的代碼段導出圖層類...我不想重複它。

一個相關的問題是:
爲什麼這對於從UIView派生的類是不必要的?

乾杯!

回答

2

這是目前MonoTouch中的限制 - 不會導出基類的靜態方法。

我已經爲此提交了一個錯誤報告:https://bugzilla.xamarin.com/show_bug.cgi?id=6170 - 您可以自行修復此錯誤,以便在修復問題時收到通知。

+0

感謝提交錯誤!我通過構建視圖而不是繼承來限制我的一些類中的問題。但是,這種重複仍然存在一些情況。乾杯! – 2012-07-18 20:44:26

相關問題