首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@protocol缺少基类型。

@protocol缺少基类型。
EN

Stack Overflow用户
提问于 2018-03-29 00:24:48
回答 1查看 195关注 0票数 0

短版:

一个缺少基型的@protocol 是否具有目标C?NSObject 的推断基型?

长版:

我正在将一个目标C库绑定到C#。图书馆里的协议之一缺少了一个基本类型..。通常我会期待这样的事情:

代码语言:javascript
复制
@protocol Account <NSObject, NSCopying, NSSecureCoding>

我将其定义为:

代码语言:javascript
复制
[Protocol, Model]
[BaseType(typeof(NSObject))]
interface Account : INSCopying, INSSecureCoding

但现在我要面对的是:

代码语言:javascript
复制
@protocol Configuring

因此,它将被定义为:

代码语言:javascript
复制
[Protocol, Model]
interface Configuring

但这没什么意义..。根据Microsoft的文档:

API定义文件由多个接口组成。API定义中的接口将被转换为类声明,它们必须用BaseType属性修饰以指定类的基类。

那么,在这个场景中我应该做什么呢?我是否可以安全地假设这个协议的基本NSObject类型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-29 03:16:37

首先,检查BaseTypeAttribute

定义中的每个interface (包括Protocol)都具有声明生成对象的基类型的[BaseType]属性。

请参阅这个样本

这里InfColorPickerControllerDelegate是协议,我们应该添加[BaseType(typeof(NSObject))]

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49546203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档