加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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课程.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读