gpt4 book ai didi

c# - 如何获取数组中的方法参数?

转载 作者:太空狗 更新时间:2023-10-29 21:02:33 25 4
gpt4 key购买 nike

想象一下在一个类中你有这个方法:

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
}

还有很多实现该接口(interface)的类

还有一个实现接口(interface)的特殊类:

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
}

由于接口(interface)包含很多方法并且所有方法的第一个留置权总是相同的(检查是否有比当前实例更好的接口(interface),如果有则在实例上调用相同的方法)我尝试制作它的一种方法。

谢谢

最佳答案

你可以这样做:

var parameters = MethodBase.GetCurrentMethod().GetParameters();
foreach (ParameterInfo parameter in parameters)
{
//..
}

看看 ParameterInfo类。

关于c# - 如何获取数组中的方法参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8743589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com