什么是ObjectiveC中的id <sometype>的Monotouch / C#等价物?</sometype>

时间:2012-06-05 08:01:06

标签: c# binding xamarin.ios

美好的一天,

我有:

的ObjectiveC:

- (void)addTarget:(id<GPUImageInput>)newTarget;  

C#:

[BaseType (typeof(NSObject))]  
interface  GPUImageOutput{
    [Export ("addTarget")]
    void AddTarget(NSObject newTarget); //Suspected source of the error
}

在调用

时导致“无法识别的选择器发送到实例”
stillCamera.AddTarget (filter);

GPUImage.GPUImageOutput filter = new GPUImage.GPUImageSketchFilter ();

虽然 StillCamera 的基本类型是 VideoCamera ,其基本类型为 GPUImageOutput

GPUImageSketchFilter 是一个 GPUImageSobelEdgeDetectionFilter ,它是一个 GPUImageTwoPassFilter ,它是一个 GPUImageFilter ,它是 GPUImageOutput 这是一个 NSObject ,同时实现了GPUImageInput

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

我相信你错过了冒号:

[Export ("addTarget:")]

答案 1 :(得分:1)

的等价物
 // Objective-C 
 id<FOO> xxx;

在C#中只是“Foo”。