Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переменная в атрибут 
V
    Опции темы
retto
Дата 10.5.2011, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



можно ли в аттрибут как параметр передать переменную класса?

Everything inside an attribute must be known to the compiler at compile-time. Variables are inherently variable (!) so can't be used in attributes.

и все-таки есть какието варианты как впихнуть переменную?
PM MAIL   Вверх
mihryak
Дата 10.5.2011, 18:11 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



напиши, что ты хочешь сделать, что-нибудь придумается
PM MAIL ICQ   Вверх
-Mikle-
Дата 10.5.2011, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 17
Всего: 59



Можно, если подумать и схитрить. Ждем пояснений.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
retto
Дата 11.5.2011, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



распишу ситуацию детально.
1. Есть класс MyClass.
2. В этом классе есть поле типа IMyObject.
3. В этом классе есть метод void Execute().
4. На метод Execute вешаю аттрибут MyAttribute (АОП PostSharp)
5. В аттрибут, как параметр, хотелось бы передать объект реализующий IMyObject, для дальнейших "манипуляций" с ним.

Конечно можно было бы написать отдельные методы, и вызывать их, в зависимости от ситуации, в Execute. Но хочется сделать по-красивому smile


пасибо, разобрался без передачи переменных в атрибут

Это сообщение отредактировал(а) retto - 11.5.2011, 10:46
PM MAIL   Вверх
-Mikle-
Дата 11.5.2011, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 17
Всего: 59



Хорошо, что разобрался без передачи полей класса, потому что это не верный путь. Атрибуты являются мета-информацией, необходимой той или иной инфраструктуре. Их экземпляры создаются при обращении к ним. Конкретно в твоем случае, твой аспект получает ссылку на экземпляр класса и ты можешь задействовать эту ссылку, чтобы получить доступ к объекту.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
retto
Дата 11.5.2011, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



-Mikle-
Цитата(-Mikle- @  11.5.2011,  11:19 Найти цитируемый пост)
Хорошо, что разобрался без передачи полей класса, потому что это не верный путь.

 smile 


Цитата(-Mikle- @  11.5.2011,  11:19 Найти цитируемый пост)
аспект получает ссылку на экземпляр класса и ты можешь задействовать эту ссылку

да, так и сделал

Добавлено через 1 минуту и 24 секунды
Цитата(-Mikle- @  10.5.2011,  19:02 Найти цитируемый пост)
Можно, если подумать и схитрить

и всё-таки можно "схитрить" и впихнуть? какие есть варианты?
PM MAIL   Вверх
Voyager
Дата 11.5.2011, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 532
Регистрация: 8.2.2005

Репутация: 3
Всего: 18



Цитата
можно ли в аттрибут как параметр передать переменную класса?

Нет.
PM   Вверх
retto
Дата 11.5.2011, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 30.10.2007
Где: Кривой Рог, Украи на

Репутация: нет
Всего: нет



-Mikle-
Voyager
спасибо, думаю тема закрыта
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0936 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.