静态字段问题

时间:2009-11-29 14:12:30

标签: c# static get set field

我试图理解字段的获取和设置属性,并运行到这个问题,可以向我解释为什么我必须使int X字段静态才能使这个工作?

using System;

namespace ConsoleApplication1
{
    class Program
    {
        public static int X = 30;
        public static void Main()
        {
            var cX = new testme();
            cX.intX = 12;
            Console.WriteLine(cX.intX);
            cX.intX = X;
            Console.WriteLine(cX.intX);
            Console.ReadKey();
        }
    }
    class testme
    {
        public int intX
        {
            get;
            set;
        }
    }
}

3 个答案:

答案 0 :(得分:4)

因为您在静态上下文中使用该字段,所以在这种情况下,方法public static void Main。由于您的Program类只是静态运行,因此没有实例,因此您无法访问任何实例成员。

答案 1 :(得分:0)

因为它用于静态方法

答案 2 :(得分:0)

由于Main是静态的,因此您无法从其外部访问非静态实例。