Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
09.01.2014, 10:47
|
|||
---|---|---|---|
|
|||
автоматические свойства {get; set;} |
|||
#18+
Добрый день! Читаю Э.Троелсена C# и .NET 4.0 и возник следующий вопрос: на 220 стр. написано что создавать автоматические свойства только для чтения или для записи нельзя. т.е. код: Код: c# 1.
не скомпилируется. Проверил - действительно, выдает ошибку. Однако, на 268 стр. приводится код базового класса System.Exception, где используются эти самые автоматические свойства только для чтения. Хотелось бы понять почему там нельзя, а тут можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.01.2014, 11:03
|
|||
---|---|---|---|
автоматические свойства {get; set;} |
|||
#18+
Там показан контракт класса, а не описание его свойств. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.01.2014, 11:04
|
|||
---|---|---|---|
автоматические свойства {get; set;} |
|||
#18+
Во-первых, данные свойства приходят из интерфейса _Exception, который "поддерживает" неполные автосвойства (в виду отсутствия реализации). _Exception Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Во-вторых, Exception таки реализует свои свойства. Например, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Вывод: ты видишь не реализацию класса, а метаданные . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.01.2014, 11:24
|
|||
---|---|---|---|
автоматические свойства {get; set;} |
|||
#18+
Сдаётся мне, что во времена написания класса Exception автоствойств не было даже в планах. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.01.2014, 11:38
|
|||
---|---|---|---|
автоматические свойства {get; set;} |
|||
#18+
Алексей КСдаётся мне, что во времена написания класса Exception автоствойств не было даже в планах. :-) Хорошо подмечено :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.03.2014, 21:30
|
|||
---|---|---|---|
автоматические свойства {get; set;} |
|||
#18+
Что значат такие поля в энтити фреймворк: Bankid {get;set;}. Гетеры и сетеры как бы должны идти со словом abstract. Здесь этого нету. Как вообще потом эти гет и сет реализируются, то есть каково их значение. Что если например одно из двух не включить. Будет просто ошибка компилятора ибо это такая конвенция? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.03.2014, 23:09
|
|||
---|---|---|---|
|
|||
автоматические свойства {get; set;} |
|||
#18+
stutЧто значат такие поля в энтити фреймворк: Bankid {get;set;}. Гетеры и сетеры как бы должны идти со словом abstract. Здесь этого нету. Как вообще потом эти гет и сет реализируются, то есть каково их значение. Что если например одно из двух не включить. Будет просто ошибка компилятора ибо это такая конвенция? По условиям автоматических свойств должны быть включены и get и set, иначе не скомпелируется, однако в нужных случаях можно ограничить доступ к свойству, например: public Bankid {get; privet set;} В итоге свойство как обычная переменная, однако на получение значения она в данном случае паблик, а на присвоение - приватная! Есть одно условие - у свойства не должен быть доступ больше, чем у самой переменной. Если, все таки, так сделать, программа скомпилируется, но доступ свойства ограничится доступом к переменной! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&tablet=1&tid=1403128]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 328ms |
total: | 475ms |
0 / 0 |