考虑下一种情况——
public class Derived : Base{
X(ParamX){} // xx method
X(ParamY){} // xy
}
public abstract class Base {
InvokeX(IParametr param){
...some magic
}
}
public class ParamX : IParametr {}
public class ParamY : IParametr {}
我可以使用Derived.InvokeX(ParamX)调用 xx 方法吗?
我知道我可以做这样的事情(当InvokeX在派生类中时检查,而不是抽象的舒尔):
InvokeX(IParametr @param){
((dynamic) this).X((dynamic) @param);
}
但我正在寻找更快的解决方案。我可以以某种方式使用 System.Runtime.CompilerServices 命名空间,特别是CallSite Class吗?
谢谢。