我可以避免在从iPhoneOSGameView派生的视图中导出LayerClass吗?

时间:2012-07-17 19:06:15

标签: c# ios xamarin.ios opentk

给出一个课程:

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

的课程来说不是必需的

干杯!

1 个答案:

答案 0 :(得分:2)

目前这是MonoTouch内部的一个限制 - 不会导出基类的静态方法。

我已经为此提交了一个错误报告:https://bugzilla.xamarin.com/show_bug.cgi?id=6170 - 您可以自行判断此错误,以便在修复后收到通知。