Вопрос о статических полях
Вопрос
Я пытаюсь понять свойства 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
является статическим, вы не можете получить доступ к нестатическим экземплярам извне.
Не связан с StackOverflow