2009-11-29 4 views
1

im, пытающийся понять свойства get и set для полей и запустить эту проблему, может объяснить мне, почему мне пришлось сделать int X-поле Static, чтобы сделать эту работу?Вопрос статических полей

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

ah oki Я понимаю, thx для объяснения – Darkmage

0

, поскольку он используется в статическом методе

0

Поскольку Main является статическим, вы не можете получить доступ к нестатическим экземплярам из вне ее.

+0

Конечно, вы можете. Доступность и статичность не имеют ничего общего друг с другом. –

 Смежные вопросы

  • Нет связанных вопросов^_^