¿Cómo subclass UIApplication en Monotouch?

EDITAR:

Un par de años después, las cosas son más fáciles. Ahora es posible omitir los attributes Register() , tanto en la aplicación como en el delegado de la aplicación y, en su lugar, usar:

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


Para poder invalidar UIApplication.SendEvent () quiero subclass UIApplication:

 public class UIApplicationMain : UIApplication { public UIApplicationMain () : base() { } public override void SendEvent (UIEvent uievent) { base.SendEvent (uievent); } } 

En main.cs utilizo este código:

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

Pero falla con:

 Objective-C exception thrown. Name: 

NSInternalInconsistencyException Motivo: No se puede crear una instancia de la instancia de subclass UIApplication. No se carga ninguna class denominada UIApplicationMain.

Entonces me faltan algunos attributes, supongo. ¿Pero qué y dónde?

Agregue un atributo [Registrar] a su nuevo tipo, como:

  [Register ("UIApplicationMain")] public class UIApplicationMain : UIApplication { ... 

Eso permitirá que el lado nativo instancie el tipo correcto cuando Main se ejecute.