Xamarin.ios 如何以编程方式在MonoTouch中实例化子类ViewController?

Xamarin.ios 如何以编程方式在MonoTouch中实例化子类ViewController?,xamarin.ios,Xamarin.ios,我已经对通过XCode接口生成器创建的ViewController进行了子类化。我的子类是这样定义的 public MyViewControllerGeneric<T> : MyViewController{ public MyViewControllerGeneric(IntPtr handle) : base(handle){} } 公共MyViewController通用:MyViewController{ 公共MyViewControllerGeneric(IntP

我已经对通过XCode接口生成器创建的ViewController进行了子类化。我的子类是这样定义的

public MyViewControllerGeneric<T> : MyViewController{
    public MyViewControllerGeneric(IntPtr handle) : base(handle){}
}
公共MyViewController通用:MyViewController{
公共MyViewControllerGeneric(IntPtr句柄):基(句柄){}
}
我可以使用Storyboard.InstanceEviewController(“MyViewController”)获取MyViewController的实例。但是,如何创建MyViewControllerGeneric的实例并向其传递句柄

尝试

var vc=new MyViewControllerGeneric(this.Handle)
var vc=new MyViewControllerGeneric(new IntPtr(DateTime.Now.Ticks)
两者都抛出一个SigAbort


非常感谢您的帮助。

您不应该传递
IntPtr
句柄

请改用此构造函数:

public MyViewControllerGeneric<T> : MyViewController{
    public MyViewControllerGeneric() : base(){ }
}
公共MyViewController通用:MyViewController{
公共MyViewControllerGeneric():base(){}
}
或者,如果您需要加载NIB,则根据您的基类:

public MyViewControllerGeneric<T> : MyViewController{
    public MyViewControllerGeneric() : base("MyViewControllerGeneric", null){ }
}
公共MyViewController通用:MyViewController{
公共MyViewControllerGeneric():基(“MyViewControllerGeneric”,null){}
}

嗯,在否认MyViewController上的默认构造函数后,我可以使用您上面建议的方法。但是视图不会显示。当显示ViewController时,我会看到一个黑屏。请参见上面的编辑,您可能需要根据您在非泛型类中的设置来执行此操作。如果使用ng Storyboard?MyViewController是自动生成的(通过MonoTouch框架)ViewController类。如果您创建基类的实例,它会工作吗?如果是,您需要使用工作的同一个构造函数。我担心,除非来自Xamarin的人加入进来,否则这可能不会工作。我认为
InstanceEviewController
将无法为C#对象提供通用参数。您能这样做吗另一种方法?可能使用相同的控制器对象,但将您创建的
SearchProvider
对象传递给控制器以实现此功能。
public MyViewControllerGeneric<T> : MyViewController{
    public MyViewControllerGeneric() : base("MyViewControllerGeneric", null){ }
}