0

如何获取公共静态列表的单个值

//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;
}

错误: 无法将带有 [] 的索引应用于“方法组”类型的表达式

4

3 回答 3

3

您需要先获取列表,然后才能通过索引器访问它。所以缺少方法调用(括号)。moduleoutput是方法而不是变量。

Console.WriteLine(lbl_test.module_a.moduleoutput()[0]);

在此处搜索方法访问:http : //msdn.microsoft.com/en-us/library/ms173114.aspx

调用对象的方法就像访问字段一样。在对象名称之后,添加句点、方法名称和括号。参数列在括号内,并用逗号分隔。

于 2012-08-21T22:07:34.013 回答
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;
        }
}
于 2012-08-21T22:08:31.120 回答
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;
    }
}
于 2012-08-21T22:11:17.267 回答