想象一下,你在这个课程中得到了这个方法:
float Do(int a_,string b_){}
我正在尝试做这样的事情:
float Do(int a_,string b_) { var params = GetParamsListOfCurrentMethod(); //params is an array that contains (a_ and b_) }
有人可以帮忙吗?
我为什么要这样做?
想象一下,你有一个接口:
public Interface ITrucMuch { float Do(int a_,string b_); // And much more fct }
还有很多实现该接口的类
还有一个特殊的类,它也实现了接口:
public class MasterTrucMuch : ITrucMuch { public floatDo(int a_,string b_) { ITrucMuch tm = Factory.GetOptimizedTrucMuch(); // This'll return an optimized trucMuch based on some state if(tm != null) { return tm.Do(a_,b_); } else { logSomeInfo(...); } //do the fallback method }
由于接口占用了很多方法,并且所有方法的第一个留置权总是相同的(检查当前实例是否有更好的接口,如果是这样,在实例上调用相同的方法)我尝试制作一个方法它.
谢谢
解决方法
@H_403_29@ 你可以这样做:var parameters = MethodBase.GetCurrentMethod().GetParameters(); foreach (ParameterInfo parameter in parameters) { //.. }
看看ParameterInfo课程.