如何在Xamarin.ios中将基类转换为子类?

时间:2019-05-21 04:14:36

标签: c# objective-c xamarin.ios nsobject

在我的Xamarin.iOS ApiDefinition.cs中,我具有以下界面

// @protocol LSMAHandler <NSObject>
[BaseType(typeof(NSObject))]
[Model]
interface LSMAHandler

 // @protocol LSMAHandlerRegister <LSMAHandler>
[BaseType(typeof(LSMAHandler))]
[Model]
interface LSMAHandlerRegister 

// @protocol LSMAHandlerPincode <LSMAHandler>
[BaseType(typeof(LSMAHandler))]
[Model]
interface LSMAHandlerPincode

在另一个界面中,我有一个像这样的属性。

[Export("agentHandler")]
NSObject AgentHandler { get; }

好的,这是我的绑定项目。现在,在我的实际项目中,我想将此NSObject转换为LSMAHandler。所以我做了这样的事情。

 NSObject handler = lSUniversal.AgentHandler;
 LSMAHandler myHandler = (LSMAHandler)handler;

但这最后一行上面的内容给了我一个例外

  

未处理的异常:

     

System.InvalidCastException:指定的强制转换无效。发生

请帮助我。 谢谢

0 个答案:

没有答案