Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Определить в какой сборке создан компонент  [new]
Thor234
Member

Откуда:
Сообщений: 177
Здраствуйте.
Есть объект экземпляр класса Component.
Подскажите пожалуйста как определить в какой сборке создан объект?
3 сен 12, 14:34    [13105892]     Ответить | Цитировать Сообщить модератору
 Re: Определить в какой сборке создан компонент  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Thor234
Здраствуйте.
Есть объект экземпляр класса Component.
Подскажите пожалуйста как определить в какой сборке создан объект?


исходные тексты есть? отгад поиском в студии.
иначе дизассемблер (рефлектор и т.д.) и поиск.
3 сен 12, 14:35    [13105920]     Ответить | Цитировать Сообщить модератору
 Re: Определить в какой сборке создан компонент  [new]
Thor234
Member

Откуда:
Сообщений: 177
Да, исходники есть.
Есть некий метод который получает только экземпляр объекта класса Component, мне нужно узнать в какой сборке он "содержится" (если можно так выразиться), объект конечно же может находится в любой из сборок решения
3 сен 12, 14:49    [13106092]     Ответить | Цитировать Сообщить модератору
 Re: Определить в какой сборке создан компонент  [new]
aleks-sam
Member

Откуда: Krasnoyarsk
Сообщений: 1850
get+assembly+name
Тут в первых трех примерах.
4 сен 12, 12:33    [13110672]     Ответить | Цитировать Сообщить модератору
 Re: Определить в какой сборке создан компонент  [new]
Thor234
Member

Откуда:
Сообщений: 177
aleks-sam
get+assembly+name
Тут в первых трех примерах.

Спасибо конечно, но либо я читаю между строк, либо не понятно изъясняюсь...в этих примерах нет того о чем я спрашиваю, все эти методы получения сборок/их имен я знаю. После некоторого копания в гугле наткнулся пару раз на информацию о том, что Component не содержит метаинформацию о том в какой сборке он был создан, а жаль.
5 сен 12, 11:25    [13116129]     Ответить | Цитировать Сообщить модератору
 Re: Определить в какой сборке создан компонент  [new]
AlexeiK
Member

Откуда:
Сообщений: 2859
Thor234,

да тогда ж просто все.
через reflection сделай анализ всех классов во всех подгруженных сборках.
вот тебе и мета информация сразу.
и делай lookup по этому листингу и будешь сразу знать, в какой сборке.
5 сен 12, 11:33    [13116208]     Ответить | Цитировать Сообщить модератору
 Re: Определить в какой сборке создан компонент  [new]
pation
Member

Откуда: Москва
Сообщений: 4505
Thor234
aleks-sam
get+assembly+name
Тут в первых трех примерах.

Спасибо конечно, но либо я читаю между строк, либо не понятно изъясняюсь...в этих примерах нет того о чем я спрашиваю, все эти методы получения сборок/их имен я знаю. После некоторого копания в гугле наткнулся пару раз на информацию о том, что Component не содержит метаинформацию о том в какой сборке он был создан, а жаль.


ищё раз задайте вопрос , вы хотите узнать в какой сборке определён нужный вам тип? если нет то что тогда?
5 сен 12, 12:44    [13116975]     Ответить | Цитировать Сообщить модератору
 Re: Определить в какой сборке создан компонент  [new]
Thor234
Member

Откуда:
Сообщений: 177
Хорошо, давайте попробую объяснить на моей задаче, может быть у меня не верный подход к решению.
Пишу компонент, наследник класса Component, в одном из его свойств указываю атрибут TypeConverter, само свойство должно давать выбор типа датасета, уже на основе выбранного типа, компонент сам создает экземпляр указанного разработчиком класса датасета. Типы же датасета я хотел получать только из той сборки в которой создается компонент, естественно реализация самого компонента совершенно в другой сборке.
Так вот в реализации метода TypeConverter.GetStandardValues я хотел бы узнать о той сборке где создан компонент, дабы получить массив типов и подсунуть списку значений в свойстве.
Идея была получить объект компонента (context.Instance) и узнать в какой сборке он "создан/находится"
Сейчас сделал, что TypeConverter пробегает по всем сборкам приложения AppDomain.CurrentDomain.GetAssemblies()
5 сен 12, 21:17    [13120597]     Ответить | Цитировать Сообщить модератору
 Re: Определить в какой сборке создан компонент  [new]
pation
Member

Откуда: Москва
Сообщений: 4505
Thor234,

неправильно поставлен вопрос, вам нужно найти не я хотел бы узнать о той сборке где создан компонент ибо сам компонент может создаваться где угодно
вам нужно узнать какой сборке принадлежит форма или юзерконтрол на котором находится компонент
6 сен 12, 09:37    [13121716]     Ответить | Цитировать Сообщить модератору
 Re: Определить в какой сборке создан компонент  [new]
pation
Member

Откуда: Москва
Сообщений: 4505
Thor234,

копать сюда ITypeDescriptorContext.GetService
6 сен 12, 09:43    [13121743]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить