Как установить значение для закрытого поля при помощи автоматических свойств в C#
class Person{
private static int age { get; set; }
}
class Program
{
static void Main(string[] args)
{
Person.age = 10;//так не работает
}
}
Но вот так можно добраться до закрытого свойства:
class Person
{
private static int age;
public static int Age
{
get
{
return age;
}
set
{
age = value;
}
}
}
class Program
{
static void Main(string[] args)
{
Person.Age = 10;
}
}
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Сделайте свойство публичным
class Person
{
public static int age { get; set; }
}
Person.age = 10; // так работает
Если вам "все понятно" с обычными свойствами, то вот так выглядит ваше автосвойство после обработки компилятором.
internal class Person
{
private static int <age>k__BackingField;
private static int age
{
get
{
return <age>k__BackingField;
}
set
{
<age>k__BackingField = value;
}
}
}