【发布时间】:2016-03-19 11:20:49
【问题描述】:
我有一个继承类,我正在尝试将事件方法的参数类型更改为另一种类型,该类型也是继承类。
原来的类:
public class Alpha {
protected virtual void OnSpecialEvent( AlphaArgs e );
}
public class AlphaArgs {
public AlphaArgs ( int a, object b );
public int A { get; }
public object B { get; }
}
我的继承类:
public class Beta : Alpha {
protected override void OnSpecialEvent ( BetaArgs e )
{
/* Do Stuff */
}
}
public class BetaArgs : AlphaArgs {
public BetaArgs (int a, object b, string c) : base (a, b)
{
/* Do Stuff */
}
public string C { get; }
}
但我最终得到了错误:
CS0115 'Beta.OnSpecialEvent(BetaArgs)': no suitable method found to override
如果我使用 AlphaArgs,我没有任何“问题”,但我会丢失我想要添加的额外参数。
有什么明显的我错过了,我什至不知道我在寻找什么......
【问题讨论】: