【发布时间】:2017-08-25 18:42:02
【问题描述】:
在委托方法上使用 EventArgs 属性时,它会生成事件处理程序类,其属性基于除第一个以外的方法参数。
生成的事件 args 类中缺少第一个参数。
例如:
[Protocol, Model]
[BaseType(typeof(NSObject))]
public interface TestDelegate
{
// @required -(void)DidReceiveFrom:(NSString * _Nonnull)p1 withP2:(NSString * _Nonnull)p2 withP3:(NSString * _Nonnull)p3 withP4:(NSString * _Nonnull)p4;
[Abstract]
[Export("DidReceiveFrom:withP2:withP3:withP4:")]
[EventArgs("DidReceiveFrom")]
void DidReceiveFrom(string p1, string p2, string p3, string p4);
那么生成的EventArgs类就变成了:
//
// EventArgs classes
//
public partial class DidReceiveFromEventArgs : EventArgs {
public DidReceiveFromEventArgs (string p2, string p3, string p4)
{
this.p2 = p2;
this.p3 = p3;
this.p4 = p4;
}
public string p2 { get; set; }
public string p3 { get; set; }
public string p4 { get; set; }
}
所以它肯定缺少 p1 属性。如何避免这种行为?
【问题讨论】:
标签: xamarin binding xamarin.ios eventargs