2012-07-17 20 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

相关问题