Cast към custom тип.

4 отговора 337 прегледа
#1

Cast към custom тип.

Имам предвид следното:
object o = a[0]; //a e da rechem ArrayList
System.Type t = o.GetType(); //neka primerno da e TextBox - vse taia...
Тук искам да кастна обекта към типа от който си е... някой знае ли как става това? Дори евентуално ако може и променлива от въпросния тип да си декларирам....

Ако някой знае как става - моля да ми пише. Благодаря предварително!

Ние сме точици във вселената. А всеки човек е една цяла вселена...
Отговор
в отговор на nupkc #2

Re: Cast към custom тип.

Променлива не знам дали ще можеш да декларираш но пробвай тези:

Convert.ChangeType(o.GetType())
или
System.Reflection.TypeDelegator tt=new System.Reflection.TypeDelegator(o.GetType());

последния май може да свърши доста неща.
разгледай и System.Type има методи който евентоално биха ти свършили работа

...and there shall be no more death,neither sorrow...for the former things are passed away
Отговор
в отговор на BlackEarl #3

Re: Cast към custom тип.

А този TypeDelegator как мога да го използвам?

Ние сме точици във вселената. А всеки човек е една цяла вселена...
Отговор
в отговор на nupkc #4

A mozesh li

da izvadish razumna prichina ? (ne se zaiazdam - interesno mi e naistina )
V helpa ima dosta pisano za boxing/unboxing.

Отговор
в отговор на VBProgrammer #5

Re: A mozesh li

Примерът е много прост - имам нужда от метод GetProperty (string PropertyName) и да каствам стойността към съответният тип. Отказах се от идеята по 2 причини:
1 - няма начин да укажа какъв тип ще връща метода - примирих се с Object
2 - Оказа се, че всъщност нямам нужда от кастване, защото резултата от метода го вкарвам в DataGrid, а той няма проблем да му вкараш Object, който всъщност е обект от съвместим за полето на таблицата тип.
Благодаря много за мненията на всички :)

Ние сме точици във вселената. А всеки човек е една цяла вселена...
Отговор