Вопрос

Я пытаюсь понять свойства 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;
        }
    }
}
Это было полезно?

Решение

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top