Вопрос о статических полях - PullRequest
1 голос
/ 29 ноября 2009

я пытаюсь понять свойства 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;
        }
    }
}

Ответы [ 3 ]

4 голосов
/ 29 ноября 2009

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

0 голосов
/ 29 ноября 2009

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

0 голосов
/ 29 ноября 2009

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

...