Re: System.RuntimeType
От: nob113  
Дата: 01.04.03 08:01
Оценка:
As usual, self consulting...

Property type has such a property as Assembly, which refers to original Assembly —

p.PropertyType.CreateObject(p.PropertyType.FullName) return an object of perfect type, exactly what I need.

Thus, sorted. Thanks aeverybody for the assistance.

Здравствуйте, nob113, Вы писали:

N>Всем привет, как элегантно конвертировать System.RuntimeType в конретный тип ?


N>Имею примерно такой снипет:

N>Dim p as PropertyDescriptor = propertyCollection.Find("PropertyName",False)

N>p.PropertyType возвращает переменную типа System.RuntimeType, мне же нужно вернуть

N>переменную типа p.PropertyType.ToString ili p.PropertyType.FullName.

N>Type.GetType(p.PropertyType.FullName) работает только с содержимым конретной сборки, грузить Assembly по ее физическому пути не кажется эленантным, хотелось бы что-то из области СType, но это с первого взгляда замкнутый круг — типа я не имею.


N>Прошу поделиться тех, кто рещил эту проблему.

N>TIA, Dima.
Re[7]: System.RuntimeType
От: mihailik Украина  
Дата: 01.04.03 16:15
Оценка:
N>Ti soglasen chto Property.PropertyType vsegda ralnogo tipa ? — naprimaer MyAssembly.MyClass. No formalni tip vozvrashaemogo vsegda System.RuntimeType. Ja ne mogu poparsit' System.RuntimeType — potomu chto eto tol'kp steklo, prozrachnoje no steklo. Ja vigu svoi object (ego tekstovoje predstavlenije — p.PropertyType.FullName, no ne imeu dostupa k nemu — vot chto mne nugno.

Тебе нужно получить объект-значение_свойства?
... << RSDN@Home 1.0 beta 6a >>
Re: System.RuntimeType
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 01.04.03 16:43
Оценка:
Здравствуйте, nob113, Вы писали:

ИМХО, тебе надо что-то такое:
PropertyDescriptor p = propertyCollection.Find("PropertyName",False);
object t = p.GetValue (obj);
TableRow row = (TableRow)t;

где obj — это переменная у которой ты хочешь вытащить значение свойства с именем PropertyName
... << RSDN@Home 1.0 beta 6 >>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.