![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
retto |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 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. и все-таки есть какието варианты как впихнуть переменную? |
|||
|
||||
mihryak |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
напиши, что ты хочешь сделать, что-нибудь придумается
|
|||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 17 Всего: 59 |
Можно, если подумать и схитрить. Ждем пояснений.
-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
retto |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 30.10.2007 Где: Кривой Рог, Украи на Репутация: нет Всего: нет |
распишу ситуацию детально.
1. Есть класс MyClass. 2. В этом классе есть поле типа IMyObject. 3. В этом классе есть метод void Execute(). 4. На метод Execute вешаю аттрибут MyAttribute (АОП PostSharp) 5. В аттрибут, как параметр, хотелось бы передать объект реализующий IMyObject, для дальнейших "манипуляций" с ним. Конечно можно было бы написать отдельные методы, и вызывать их, в зависимости от ситуации, в Execute. Но хочется сделать по-красивому ![]() пасибо, разобрался без передачи переменных в атрибут Это сообщение отредактировал(а) retto - 11.5.2011, 10:46 |
|||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 17 Всего: 59 |
Хорошо, что разобрался без передачи полей класса, потому что это не верный путь. Атрибуты являются мета-информацией, необходимой той или иной инфраструктуре. Их экземпляры создаются при обращении к ним. Конкретно в твоем случае, твой аспект получает ссылку на экземпляр класса и ты можешь задействовать эту ссылку, чтобы получить доступ к объекту.
-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
retto |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 30.10.2007 Где: Кривой Рог, Украи на Репутация: нет Всего: нет |
-Mikle-
![]()
да, так и сделал Добавлено через 1 минуту и 24 секунды и всё-таки можно "схитрить" и впихнуть? какие есть варианты? |
||||
|
|||||
Voyager |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 532 Регистрация: 8.2.2005 Репутация: 3 Всего: 18 |
Нет. |
|||
|
||||
retto |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 30.10.2007 Где: Кривой Рог, Украи на Репутация: нет Всего: нет |
-Mikle-,
Voyager, спасибо, думаю тема закрыта |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [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. |