2009-11-29 66 views
1

即时尝试了解字段的获取和设置属性,并运行到这个问题,可以somone解释为什么我必须使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; 
     } 
    } 
} 

回答

4

因为你正在使用领域在静态情况下,在这种情况下,方法publicstaticvoid Main。由于您的Program类只是静态运行,因此不存在实例,因此您无法访问任何实例成员。

+0

啊oki我明白了,thx的解释 – Darkmage 2009-11-29 14:19:57

0

使用,因为Main是静态的,你不能从它的外部访问非静态实例。

+0

当然可以。无障碍和静态无关。 – 2009-11-29 15:35:18