c# – 如何在数组中获取方法参数?
发布时间:2020-12-15 18:28:11 所属栏目:百科 来源:网络整理
导读:想象一下,你在这个课程中得到了这个方法: float Do(int a_,string b_){} 我正在尝试做这样的事情: float Do(int a_,string b_){ var params = GetParamsListOfCurrentMethod(); //params is an array that contains (a_ and b_)} 有人可以帮忙吗? 我为什
想象一下,你在这个课程中得到了这个方法:
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 } 由于接口占用了很多方法,并且所有方法的第一个留置权总是相同的(检查当前实例是否有更好的接口,如果是这样,在实例上调用相同的方法)我尝试制作一个方法它. 谢谢 解决方法
你可以这样做:
var parameters = MethodBase.GetCurrentMethod().GetParameters(); foreach (ParameterInfo parameter in parameters) { //.. } 看看ParameterInfo课程. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |