![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Atomic |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 23 Регистрация: 4.12.2006 Репутация: нет Всего: нет |
Есть класс. Нужно отлавливать вызовы несуществующих переменных и делать вид, что они есть.
Собственно, этот класс будет содержать какие-то данные в хеш-таблице, но обращаться хотелось бы так, словно эти переменные в классе существуют. Обращение к несуществующей переменной должно приводить к ее созданию и некоторой обработке. Методы get и set, насколько я понял, работают только внутри конкретной переменной. Есть ли способ сделать такую фишку? То есть так, чтобы вызов был в виде class.var=1 а не class.get(var,1). |
|||
|
||||
nagg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 6.1.2008 Где: Minsk Репутация: нет Всего: 4 |
На ум приходят анонимные типы только
![]() Extended properties пока вроде ещё не придумали... Это сообщение отредактировал(а) nagg - 5.3.2009, 00:27 --------------------
I am the State... |
|||
|
||||
mihryak |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
Atomic, шарп - не динамический язык, подобный джава скрипту, все свойства должны быть явно прописаны до компиляции
что-то мне подсказывает, что нужно нечто вроде класса с индексаторами
а под этим
подразумевается ошибочное мнение, что get-set позволяет выдавать-присваивать одно поле без возможности дополнительных действий - нет, там можно делать вообще что угодно |
||||
|
|||||
Atomic |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 23 Регистрация: 4.12.2006 Репутация: нет Всего: нет |
Спасибо, mihryak, заработало. И примерно так, как нужно.
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |