【发布时间】:2015-06-09 00:56:57
【问题描述】:
我试图将一个参数传递给一个方法,然后将该参数用作数组扩展方法,但我很挣扎。我的代码是:
//create method
public static void BankChoice(string SearchItem)
{
//declare variables
double tempMin = 0;
int minIndex = 0;
//set a temporary double as the first index of array
tempMin = Program.array_SH1[0].SearchItem;
//start loop to go through whole array
for (int y = 0; y <= array_SH1.Length; y++)
{
//if the temp double is bigger than the array item,
//make array item temp double
if (tempMin > array_SH1[y].SearchItem)
{
tempMin = array_SH1[y].SearchItem;
minIndex = y;
}
}
}
然后我将代码称为:
BankChoice("OpenPrice")
但是这不起作用。编译器不会接受字符串作为数组扩展名,它只会抛出错误。 有没有办法解决这个问题,而不必手动进行,并为 SearchItem 的所有变体创建一个方法
谢谢
【问题讨论】:
-
不,你不能那样做。你需要研究的是如何使用反射来实现这一点。
-
旁注:您的示例未显示类似于在任何地方调用扩展方法的语法...
标签: c# arrays methods arguments