|
Добавить атрибут программно
|
|||
---|---|---|---|
#18+
Привет. Как в C# динамически добавить аттрибут, ну скажем, к строке? Или к object? Пытаюсь делать что-то типа: Код: c# 1. 2. 3. 4. 5.
Следующим шагом могло бы быть pi.SetValue(...), но pi=null. Как это делается? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 23:01 |
|
Добавить атрибут программно
|
|||
---|---|---|---|
#18+
mabanza, add ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 23:11 |
|
Добавить атрибут программно
|
|||
---|---|---|---|
#18+
mabanza, во-первых, атрибуты хранят информацию только для чтения. Во-вторых, эта информация назначается на этапе компиляции. В-третьих, атрибуты применяются к типу и для добавления атрибута к System.String или System.Object придется каким-то образом модифицировать код базовой библиотеки что не назовешь простой задачей. Проще говоря, то что ты пытаешься сделать невозможно. С какой целью ты это затеял? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 23:15 |
|
Добавить атрибут программно
|
|||
---|---|---|---|
#18+
Где-то в степи add Упустил этот метод. Тем не менее задача странная. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 23:17 |
|
Добавить атрибут программно
|
|||
---|---|---|---|
#18+
bazile, Да она не странная, просто редко встречаемая, например нужно замаркировать (откуда он и как получен) объект по коду, или еще что. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 23:25 |
|
Добавить атрибут программно
|
|||
---|---|---|---|
#18+
Ага, TypeDescriptor. Очень хорошо. >Тем не менее задача странная Не, ну оно все странное. Зависит от круга решаемых проблем. У меня есть самописный ORM, который мэпит члены класса к полям в БД. Ну, декларативно, конечно. Через атрибуты. Надо заменить атрибут на лету. Вижу атрибут в коллекции, а изменить не могу. Обидно, слушай. За TypeDescriptor спасибо, очень полезно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 00:01 |
|
Добавить атрибут программно
|
|||
---|---|---|---|
#18+
Где-то в степиbazile, Да она не странная, просто редко встречаемая, например нужно замаркировать (откуда он и как получен) объект по коду, или еще что. Ну можно же в обьекте сделать обычное свойство для подобных "пометок" .... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 18:54 |
|
Добавить атрибут программно
|
|||
---|---|---|---|
#18+
D129, да можно, реализуйте интерфейс или отымейте базовый, многие так и поступают, есть еще масса вариантов кроме этого, это ж программирование - как Иван старший скажет.. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 19:21 |
|
Добавить атрибут программно
|
|||
---|---|---|---|
#18+
По теме. Не забываем про Emit CustomAttributeBuilder (см. метод SetCustomAttribute) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 19:47 |
|
|
start [/forum/topic.php?fid=20&msg=38544188&tid=1403336]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 316ms |
total: | 448ms |
0 / 0 |