Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Доступ к переменной только через свойство / 11 сообщений из 11, страница 1 из 1
08.11.2012, 14:07
    #38030243
den9000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к переменной только через свойство
Как сделать, чтобы установка значения переменной класса в самом классе могла осуществляться только через свойство? Что-то типа, только чтобы значение _val из самого этого класса можно было установить только через свойство Val. Чтобы нельзя было написать, например, _val = 5;
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
private int _val;
private int Val
{
   get
   {
       return _val;
   }
   set
   {
       _val = value;
   }
}
...
Рейтинг: 0 / 0
08.11.2012, 14:15
    #38030257
Deza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к переменной только через свойство
den9000Как сделать, чтобы установка значения переменной класса в самом классе могла осуществляться только через свойство? Что-то типа, только чтобы значение _val из самого этого класса можно было установить только через свойство Val. Чтобы нельзя было написать, например, _val = 5;
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
private int _val;
private int Val
{
   get
   {
       return _val;
   }
   set
   {
       _val = value;
   }
}


зачем такое извращение? свойство немного не для этого предназначено
имхо, вроде нельзя так
...
Рейтинг: 0 / 0
08.11.2012, 14:16
    #38030262
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к переменной только через свойство
den9000,

в рамках одного класса - никак. Зачем тебе это нужно? Особенно учитывая, что приведенный код легко заменяется на auto-property.
Код: c#
1.
private int Val { get; set; }
...
Рейтинг: 0 / 0
08.11.2012, 14:18
    #38030269
den9000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к переменной только через свойство
Dezaзачем такое извращение?
Чтобы в разделе set еще другие нужные действия произвести.
...
Рейтинг: 0 / 0
08.11.2012, 14:30
    #38030300
Deza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к переменной только через свойство
den9000Dezaзачем такое извращение?
Чтобы в разделе set еще другие нужные действия произвести.

1 раз при инициализации класса?
...
Рейтинг: 0 / 0
08.11.2012, 14:31
    #38030303
den9000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к переменной только через свойство
Dezaden9000пропущено...

Чтобы в разделе set еще другие нужные действия произвести.

1 раз при инициализации класса?
Нет. Каждый раз при установке значения.
...
Рейтинг: 0 / 0
09.11.2012, 05:50
    #38031146
фиганыч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к переменной только через свойство
den9000,

защитить программиста от самого себя таким образом не возможно :)
однако можно усложнить совершение ошибки такого рода, например таки образом:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public class Val 
{
private static _Val;
private static int Val
{
   get
   {
       return _val;
   }
   set
   {
       _val = value;
   }
}
}


и в своём классе обращаться как
Код: c#
1.
Val.Val;
...
Рейтинг: 0 / 0
09.11.2012, 05:52
    #38031147
фиганыч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к переменной только через свойство
ошибся
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public class Val 
{
private static _val;
public static int Val
{
   get
   {
       return _val;
   }
   set
   {
       _val = value;
   }
}
}
...
Рейтинг: 0 / 0
09.11.2012, 10:36
    #38031318
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к переменной только через свойство
фиганычошибсяА тип у переменной какой? :)
...
Рейтинг: 0 / 0
09.11.2012, 10:44
    #38031329
фиганыч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к переменной только через свойство
skyANA,

:)
...
Рейтинг: 0 / 0
09.11.2012, 14:29
    #38031823
beg-in-er
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ к переменной только через свойство
фиганычошибся
Код: c#
1.
2.
3.
4.
5.
public class Val 
{
private static _val;

}


ты забыл сказать , что это годно только для одного экземпляра класса Val )))
в случае двух и более - веселье обеспечено
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Доступ к переменной только через свойство / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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