如何将枚举作为方法的参数之一传递?我只需要在该方法的某些实现中,而在其他实现中不需要。这就是方法声明的样子:
public abstract void SomeMethod(params object[] someParams);
这就是我希望一些实现的样子:
public override void SomeMethod(params object[] someParams) {
SomeEnum someEnum = someParams[0];
if (someEnum == null)
return;
}
当然,这段代码是无效的,但它显示了我打算做什么。该方法的其他实现可以使用其他枚举,或者根本不使用枚举。
更新:正如许多人所说,这是一件非常奇怪的事情,将类型安全扔出窗外。所以,我决定解释我为什么要这样做。
我必须将方法调用传递给一个类的许多不同子类,我通过一个系统声明这个方法,该系统通过网络(以及本地)发送它们并在特定时间以特殊顺序执行它们。有一个更好的方法吗?