Rzutowanie na nieznane typy

0

Za pomocą refleksji pobrałem pola instancji typu "object", oraz tablicę stringów z wartościami, które chciałbym przypisać. Zapisuję poniższą linijkę :

F[i].SetValue(o, Values[i]);

Gdzie:
F - tablica pól ort!
o - ort!, do którego przypisuje nowe wartości pól
Values - tablica stringów z nowymi wartościami

Kłopot polega na tym, że pola są oczywiście różnych typów, niekoniecznie string. Nie ma większego problemu, by pobrać te typy. Natomiast nie mam zielonego pojęcia jak można zrzutować tablicę Values do pobranych typów.
Czy ktoś może wie, jak rozwiązać ten problem ?
Pozdrawiam

0

Z tego co wiem to nie da się zrobić tego z całą tablicą od razu. Musisz stworzyć nową tablicę, w zależności od typu na jaki chcesz rzutować, a potem pojedynczo element po elemencie rzutować object i zapisywać to drugiej tablicy(najwygodniej użyć listy). Coś w rodzaju

List<int>  tabi = new List<int>();
List<string> tabs = new List<string>(); 
for(int i=0; i<F.Count; i++)
{
 if(F[i] is int)
   tabi.Add( (int)F[i] );
 else if (F[i] is string)
   tabs.Add( (string)F[i] );
 else
  //jakiś inny typ itd.
}
0

Convert.ChangeType

1 użytkowników online, w tym zalogowanych: 0, gości: 1