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.
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 >>
Здравствуйте, nob113, Вы писали:
ИМХО, тебе надо что-то такое:
PropertyDescriptor p = propertyCollection.Find("PropertyName",False);
object t = p.GetValue (obj);
TableRow row = (TableRow)t;
где obj — это переменная у которой ты хочешь вытащить значение свойства с именем PropertyName
... << RSDN@Home 1.0 beta 6 >>