加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何在Monotouch中继承UIApplication?

发布时间:2020-12-15 08:22:12 所属栏目:百科 来源:网络整理
导读:编辑: 几年后,事情变得更容易了.现在可以省略 Register()属性,在应用程序和应用程序委托上,而是使用: UIApplication.Main(args,typeof(CustomApp),typeof(CustomAppDelegate)); 为了能够覆盖UIApplication.SendEvent(),我想要子类化UIApplication: public
编辑:

几年后,事情变得更容易了.现在可以省略
Register()属性,在应用程序和应用程序委托上,而是使用:

UIApplication.Main(args,typeof(CustomApp),typeof(CustomAppDelegate));

为了能够覆盖UIApplication.SendEvent(),我想要子类化UIApplication:

public class UIApplicationMain : UIApplication
{
    public UIApplicationMain () : base()
    {
    }

    public override void SendEvent (UIEvent uievent)
    {
        base.SendEvent (uievent);
    }
}

在main.cs中我使用以下代码:

public class Application
{
    static void Main (string[] args)
    {
        UIApplication.Main (args,"UIApplicationMain","AppDelegateBase");
    }
}

但它失败了:

06002

NSInternalInconsistencyException Reason: Unable to instantiate the
UIApplication subclass instance. No class named UIApplicationMain is
loaded.

所以我猜错了一些属性.但是在哪里和哪里?

解决方法

将[Register]属性添加到新类型,例如:
[Register ("UIApplicationMain")]
 public class UIApplicationMain : UIApplication {
    ...

这将允许本机端在Main执行时实例化正确的类型.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读