1
下面考虑的情况 -从基抽象类(反射)调用派生类方法
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?
谢谢。