В моем 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: указанное приведение недействительно. произошло
Пожалуйста, помогите мне.
Спасибо