Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Обьявление переменных { get; set;} в C# / 3 сообщений из 3, страница 1 из 1
12.06.2013, 08:00
    #38294862
stenford
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обьявление переменных { get; set;} в C#
Обьясните такую вещь - в C# есть возможность кратко обьявлять поля -

Код: c#
1.
public MyClass MyField { get; set;}



я так понимаю доступа к приватной переменной типа _MyField нет? Как устанавливать теперь ее значение?

Например я хочу сделать поле readonly:

Код: c#
1.
public MyClass MyField { get;}



и назначить ее значение где-нибудь в конструкторе, как это сделать?
...
Рейтинг: 0 / 0
12.06.2013, 09:17
    #38294873
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обьявление переменных { get; set;} в C#
stenfordв C# есть возможность кратко обьявлять поля -
Код: c#
1.
public MyClass MyField { get; set;}


Это называется свойство, а не поле. Такая форма записи называется автоматическим свойством. Она упрощает код и экономит время так не нужно писать объвлять private поле и свойство с элементарным getter-ом и setter-ом:
Код: c#
1.
2.
3.
4.
5.
public MyClass MyField
{ 
    get { return _myField; } 
    set { _myClass = value; }
}



stenfordя так понимаю доступа к приватной переменной типа _MyField нет? Как устанавливать теперь ее значение?
Присваивай самому свойству, как еще? MyField = blah-blah;

stenfordНапример я хочу сделать поле readonly:
Код: c#
1.
public MyClass MyField { get;}


и назначить ее значение где-нибудь в конструкторе, как это сделать?
Именно так сделать не получится. Авто-свойства должны иметь и get и set. Можно объявить private set или объявить private поле класса и написать свойство только с getter-ом возвращающее его значение. В первом случае ты получишь readonly свойство с точки зрения внешнего кода, во-втором есть возможность сделать readonly поле и с точки зрения класса.
...
Рейтинг: 0 / 0
12.06.2013, 09:17
    #38294874
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обьявление переменных { get; set;} в C#
stenford,

1) Через свойство
2)
Код: c#
1.
public MyClass MyField { get; private set; }
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Обьявление переменных { get; set;} в C# / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]