C# 如何在Monotouch中绑定扩展方法?

C# 如何在Monotouch中绑定扩展方法?,c#,ios,xamarin.ios,C#,Ios,Xamarin.ios,我很难为IOS静态库定义正确的绑定。 include文件包含一些扩展方法,定义如下: #import <Foundation/Foundation.h> @interface UIView(LayerEffects) // set round corner - (void) setCornerRadius : (CGFloat) radius; // set inner border - (void) setBorder : (UIColor *) color width : (C

我很难为IOS静态库定义正确的绑定。 include文件包含一些扩展方法,定义如下:

#import <Foundation/Foundation.h>
@interface UIView(LayerEffects)

// set round corner
- (void) setCornerRadius : (CGFloat) radius;
// set inner border
- (void) setBorder : (UIColor *) color width : (CGFloat) width;
// set the shadow
// Example: [view setShadow:[UIColor blackColor] opacity:0.5 offset:CGSizeMake(1.0, 1.0) blueRadius:3.0];
- (void) setShadow : (UIColor *)color opacity:(CGFloat)opacity offset:(CGSize) offset blurRadius:(CGFloat)blurRadius;

@end

我认为您必须定义一个新类来进行绑定:

[BaseType(typeof(UIView))]
public interface UIViewLayerEffects
{

}
但这对你的处境并没有帮助

您想在任何
ui视图上使用此选项,对吗

将下面的代码翻译成C#可能更容易。这些方法看起来并不难实现。例如,我认为
setCornerRadius
就是这样:

myView.Layer.CornerRadius = 3f;

在这种情况下,它确实很容易实现,因为我实际上有objective-c代码;但是,如果您得到带有静态库(.a)的.h文件,那么最好知道如何创建绑定。此外,建议的映射不起作用-它会编译,但在实际执行该方法时,编译器崩溃,出现异常:“无法识别的选择器发送到实例”,听起来像是方法名称上的键入错误。你能发布你的绑定吗?删除你所有的
[Target]
参数,然后它会工作吗?删除目标参数会消除异常,但不会执行底层方法。。。
myView.Layer.CornerRadius = 3f;