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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос про рефлексию. Как присваивается значение? 
V
    Опции темы
vlsaf
Дата 22.1.2010, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Всем привет.

Есть некий объект myObj.
C помощью рефлексии я узнал, что у него есть свойство "LookAndFeel"

Теперь нужно присвоить значение.
Код

myObj.LookAndFeel.SkinName = "Money Twins";


Как это сделать?

PS 
Смущает, что у свойства LookAndFeel есть еще "подсвойства", одно из которых мне и нужно поменять. Если бы этого не было , то поменял бы просто 
Код

Type myType = myObj.GetType();
TypeDescriptor.GetProperties(myType)["LookAndFeel"].SetValue(myObj, "Money Twins");

PM   Вверх
diadiavova
Дата 22.1.2010, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



vlsaf, у объекта PropertyInfo помимо метода SetValue есть ещё метод GetVaqlue, с его помощью получишь нужный тебе объект, а сним работай так же. 
Нет никаких подсвойств, просто свойство может возвращать сложный объект у которого в свою очередь тоже есть собственные свойства.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
vlsaf
Дата 22.1.2010, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Чтобы использовать метод PropertyInfo.GetValue(), нужно заранее знать число параметров моего объекта.
Иначе идет исключение - несоответствие параметров.


Как узнать кол-во параметров в объекте?
PM   Вверх
diadiavova
Дата 22.1.2010, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Цитата(vlsaf @  22.1.2010,  14:05 Найти цитируемый пост)
Чтобы использовать метод PropertyInfo.GetValue()

Зачем? smile Это нужно для индексированных свойств, для обычных второй аргумент должен быть null.

Добавлено через 27 секунд
Всё написано в документации кстати.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
vlsaf
Дата 22.1.2010, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Держи +


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

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


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

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


 




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


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

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