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

前端之家收集整理的这篇文章主要介绍了c# – 如何在Monotouch中继承UIApplication?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
编辑:

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

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

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

  1. public class UIApplicationMain : UIApplication
  2. {
  3. public UIApplicationMain () : base()
  4. {
  5. }
  6.  
  7. public override void SendEvent (UIEvent uievent)
  8. {
  9. base.SendEvent (uievent);
  10. }
  11. }

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

  1. public class Application
  2. {
  3. static void Main (string[] args)
  4. {
  5. UIApplication.Main (args,"UIApplicationMain","AppDelegateBase");
  6. }
  7. }

但它失败了:

06002

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

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

解决方法

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

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

猜你在找的C#相关文章