Xamarin.ios 如何映射包含MonoTouch上的协议实现的返回值类?
我试图将一个没有直接类的返回类型映射到MonoTouch中的某个对象(因为我不确定等价物是什么) 例如,如果在btouch中,我想绑定结果类型UIViewXamarin.ios 如何映射包含MonoTouch上的协议实现的返回值类?,xamarin.ios,Xamarin.ios,我试图将一个没有直接类的返回类型映射到MonoTouch中的某个对象(因为我不确定等价物是什么) 例如,如果在btouch中,我想绑定结果类型UIView,定义如下: -(UIView*)添加(Thing*)内容 我成功地做到了这一点: [导出(“添加:”)] UIView AddThing(事物的名称) 但我无法获得协议扩展。如果我创建一个中间类型,比如UIViewProtocol,比如: //@接口UIViewProtocolThing:UIView{ [基本类型(类型化(UIView))]
有人对此有想法吗?我想你可以在C端解决这个问题。在绑定中使用
UIView
然后像这样创建一个类:
public class ProtocolView : UIView
{
//Fill out all the constructors
public ProtocolView() { }
public ProtocolView(IntPtr handle) : base (handle) { }
[Export("myExportForProtocolThing:")
public virtual void MyExportForProtocolThing() { }
}
确保实现协议的所有方法
如果愿意,您甚至可以将这个新类放入绑定项目中