2009-11-29 79 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