c#无法访问非静态字段匿名方法

时间:2015-02-04 12:17:25

标签: c# .net

class Program
{
    static IEnumerable<int> b;
    private IEnumerable<int> c;
    static void Main(string[] args)
    {
        List<string> ds = new List<string>();

        ds.Sort((x, y) =>
        {
            b.Count();
            c.Count();
            return 1;
        });
    }
}

在静态上下文中无法访问非静态字段的原因是什么?

1 个答案:

答案 0 :(得分:3)

c是一个实例字段。无法在Static方法中访问实例成员。要访问实例成员,您需要一个实例,静态成员中没有一个。

为了“工作”你需要写 new Program().c.Count()但这可能不是你想要做的。

你当然可以让c静止,一切都会好的。