我在编写Xamarin Binding Library时遇到了一个问题。
先决条件
- 我有 iOS 原生框架。
- 我有一个 Xamarin 表单应用程序。
我必须编写我能够成功编写的 Xamarin 绑定库。
现在我卡住了
iOS 原生框架 API(在 MyClass.h 中):-
-(void)clearAllDishes:(NSError * _Nullable * _Nullable)error;
绑定代码 API(在 ApiDefination.cs 中):-
[BaseType(typeof(NSObject))]
public interface MyClass
{
// -(void)clearAllDishes:(NSError * _Nullable * _Nullable)error;
[Export("clearAllDishes:")]
void ClearAllDishes([NullAllowed] out NSError error);
}
现在在 Xamarin UI 中,我们必须调用以下方法:-
try {
MyClass obj = new MyClass();
obj.clearAllDishes()
} catch throws Custom Exception {
// Assuming the MyClass will throw the exception, when NSError pointer passed in iOS Native Framework.
}
现在我的要求是来自 Xamarin UI 我必须调用一个方法clearAllDishes()
,并且在 Xamarin Library Binding 中我必须以clearAllDishes()
这种方式处理它,以便我们可以从这里向 Xamarin UI 抛出异常并调用 iOS Native API clearAllDishes
。