短版:
一个缺少基型的@protocol 是否具有目标C?中 NSObject 的推断基型?
长版:
我正在将一个目标C库绑定到C#。图书馆里的协议之一缺少了一个基本类型..。通常我会期待这样的事情:
@protocol Account <NSObject, NSCopying, NSSecureCoding>我将其定义为:
[Protocol, Model]
[BaseType(typeof(NSObject))]
interface Account : INSCopying, INSSecureCoding但现在我要面对的是:
@protocol Configuring因此,它将被定义为:
[Protocol, Model]
interface Configuring但这没什么意义..。根据Microsoft的文档:
API定义文件由多个接口组成。API定义中的接口将被转换为类声明,它们必须用BaseType属性修饰以指定类的基类。
那么,在这个场景中我应该做什么呢?我是否可以安全地假设这个协议的基本NSObject类型?
发布于 2018-03-29 03:16:37
首先,检查BaseTypeAttribute。
定义中的每个interface (包括Protocol)都具有声明生成对象的基类型的[BaseType]属性。
请参阅这个样本。
这里InfColorPickerControllerDelegate是协议,我们应该添加[BaseType(typeof(NSObject))]。
https://stackoverflow.com/questions/49546203
复制相似问题