96 / 96 / 16
Регистрация: 28.01.2008
Сообщений: 426
|
|
1 | |
Программное изменение, добавление, удаление атрибутов у свойств класса24.02.2011, 10:00. Показов 9738. Ответов 16
Метки нет (Все метки)
Собственно и интересует вопрос как программно изменить, добавить, удалить атрибуты у свойств класса???
0
|
24.02.2011, 10:00 | |
Ответы с готовыми решениями:
16
Добавление, изменение, удаление данных в бд Добавление, изменение и удаление строк dataGridView DataViewGrid удаление/изменение/добавление и отражение действий в БД Программное добавление свойств классу |
153 / 113 / 25
Регистрация: 23.06.2008
Сообщений: 320
|
|
24.02.2011, 11:48 | 2 |
Никак это метаданные (как константы) при компиляции они записываются в dll и их нельзя изменить
0
|
96 / 96 / 16
Регистрация: 28.01.2008
Сообщений: 426
|
|
24.02.2011, 12:48 [ТС] | 3 |
а зачем тогда существуют методы GetAttribute, SetAttribute и тому подобные???
0
|
153 / 113 / 25
Регистрация: 23.06.2008
Сообщений: 320
|
|
24.02.2011, 13:36 | 4 |
Эти методы работают с Xml текстом, или если вам нужно работать в ASP.NET то там вроде тоже такое возможно. Т.е. SetAttribute просто дописывает строчку в текст.
А если мы говорим о dll то там уже машинный код...
0
|
60 / 60 / 6
Регистрация: 07.09.2010
Сообщений: 259
|
|
24.02.2011, 13:54 | 5 |
Sanprof,наследовать и переопределять не помогает?
0
|
96 / 96 / 16
Регистрация: 28.01.2008
Сообщений: 426
|
|
24.02.2011, 14:12 [ТС] | 6 |
все делается в runtime. Тоесть у меня есть свой класс, у свойств которого есть свои атрибуты, в runtime мне нужно оперировать атрибутами определенных свойств данного класса.
0
|
60 / 60 / 6
Регистрация: 07.09.2010
Сообщений: 259
|
|
24.02.2011, 14:15 | 7 |
Sanprof, это не твои классы??
можно сделать общий абстрактный класс и переключать между его реализациями с различными наборами атрибутов.
0
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
24.02.2011, 14:35 | 8 |
ТС говорит об атрибутах, причем здесь XML и ASP.NET?
Машинного кода там нет, там код на промежуточном языке и метаданные. Sanprof, посмотрите в пространствах имен System.Reflection.Emit и System.Reflection, если и искать решение, то там.
0
|
96 / 96 / 16
Регистрация: 28.01.2008
Сообщений: 426
|
|
24.02.2011, 15:05 [ТС] | 9 |
немного шире опишу свою ситуацию, на форме есть propertygrid и контролы, в которых я добавил n-ое количество своих свойств, атрибутами которых я и хочу оперировать, а именно в зависимости от установленого значения свойства, нужно к примеру изменить атрибут у других(ого) свойств(а) (этого класса) Browsable(true) на Browsable(false) или изменить DisplayName( "Тра-ла-ла" ) на DisplayName( "Тру-лу-лу" ). Как это реализовать вот я не знаю.
0
|
60 / 60 / 6
Регистрация: 07.09.2010
Сообщений: 259
|
|
24.02.2011, 15:10 | 10 |
Sanprof, ооо....тоже недавно пропертигрид начал делать...пока не дошло, чтоб мне атрибуты пришлось менять....возможно сделать 2 варианта поля, и когда делаешь выборку атрибутов из класса - брать то один, то другой..
0
|
153 / 113 / 25
Регистрация: 23.06.2008
Сообщений: 320
|
||||||
25.02.2011, 07:14 | 11 | |||||
А в xml нет атрибутах? Ты знаешь где есть такие методы Set и Get Attribute? По моему они в как раз в тех разделах
http://social.msdn.microsoft.c... ibute&ac=8 Согласен, но я думаю не стоит сейчас пересказывать книжку CLR via C#. Я пытался объяснить на понятном языке. Sanprof, Если ты сделаешь virtual свойство в базовом классе и унаследуешься, то можно изменять значения атрибутов так:
0
|
96 / 96 / 16
Регистрация: 28.01.2008
Сообщений: 426
|
|
25.02.2011, 09:10 [ТС] | 12 |
в Design-time это-то понятно, а вот как в Runtime на метод set у одного из свойств проанализировать его значение и в зависимости от того какое оно (к примеру true или false) скрыть некоторые свойства (из browsable(true) в browsable(false))???
0
|
25 / 25 / 5
Регистрация: 11.11.2009
Сообщений: 56
|
|||||||||||
25.02.2011, 10:49 | 13 | ||||||||||
Пример использования.
Создаем класс ForExample
1
|
96 / 96 / 16
Регистрация: 28.01.2008
Сообщений: 426
|
|
25.02.2011, 13:55 [ТС] | 14 |
Вобщем помогло прочтение книги Павла Агурова "Разработка компонентов в MS Visual Studio 2005/2008" Глава 8
0
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
25.02.2011, 19:39 | 15 |
Есть, но как XML может быть связан со свойствами класса?
Объяснять на понятном языке и вводить человека в заблуждение, говоря явную чушь, - это разные вещи.
0
|
153 / 113 / 25
Регистрация: 23.06.2008
Сообщений: 320
|
|
27.02.2011, 19:11 | 16 |
Вроде бы человека я не ввел в заблуждение. Если ты хочешь по флудить тебе в другую тему
Sanprof На счет возможностей PropertyGrid советую посмотреть статью http://www.rsdn.ru/article/dot... ridFAQ.xml
0
|
96 / 96 / 16
Регистрация: 28.01.2008
Сообщений: 426
|
|
28.02.2011, 09:40 [ТС] | 17 |
Спасибо, посмотрел, но это все есть в книге Павла Агурова только немного в другом виде.
0
|
28.02.2011, 09:40 | |
28.02.2011, 09:40 | |
Помогаю со студенческими работами здесь
17
Добавление, удаление и изменение в ComboBox Программное добавление и удаление объектов Изменение свойств контроллов из класса Изменение свойств элементов формы из другого класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |