如何获取公共静态列表的单个值
//get value error
Console.WriteLine(lbl_test.module_a.moduleoutput[0]);
public static List<string> moduleoutput()
{
List<string> output = new List<string>();
output.Add("test 1");
output.Add("test 2");
output.Add("test 3");
return output;
}
错误: 无法将带[]的索引应用于“方法组”
类型的表达式答案 0 :(得分:3)
您需要先获取列表,然后才能由索引器访问它。因此缺少方法调用(括号)。 moduleoutput
是一种方法而非变量。
Console.WriteLine(lbl_test.module_a.moduleoutput()[0]);
在此处搜索方法访问:http://msdn.microsoft.com/en-us/library/ms173114.aspx
在对象上调用方法就像访问字段一样。之后 对象名称,添加句点,方法名称和括号。 参数列在括号中,并以。分隔 逗号。
答案 1 :(得分:2)
这是一种方法,而不是财产。你必须调用这个方法。
您可能希望它成为一个属性:
public static List<string> moduleoutput
{
get
{
List<string> output = new List<string>();
output.Add("test 1");
output.Add("test 2");
output.Add("test 3");
return output;
}
}
答案 2 :(得分:1)
我怀疑你说错了。您将moduleoutput
称为变量而不是方法。你忘了括号:
Console.WriteLine(lbl_test.module_a.moduleoutput()[0]);
下面的示例代码完美无缺:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Moduleoutput()[0]);
Console.ReadLine();
}
public static List<string> Moduleoutput()
{
List<string> output = new List<string>();
output.Add("test 1");
output.Add("test 2");
output.Add("test 3");
return output;
}
}