mam ten problem:Jak ponowne typ zwracanej wartości do generowania kodu źródłowego nowej
Chcę, aby wygenerować nowy plik kodu źródłowego z informacji obiektu.
robię coś takiego:
dictParamMapping jest Dictionary<string, Type>
gdzie łańcuch jest zmienna nazwa i typ jest typem tej zmiennej.
mam typ zbudować nowy kod za pomocą:
dictParamMapping[pairProcess.Value].Type.Name (or FullName)
kiedy typ jest int, string, DataTable itd ... wszystko działa poprawnie, ale gdy jest to słownik, lista lub inny podobny, że to zwraca coś takiego:
System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Double, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
Niepoprawne budowanie tego nowego kodu źródłowego. Chciałbym uzyskać coś w rodzaju: Dictionary<int, double>
Czy ktoś może mi pomóc?
Zajrzałeś do ['GetGenericTypeDefinition'] (http://msdn.microsoft.com/en-us/library/system.type.getgenerictypedition.aspx) i [' GetGenericArguments'] (http: // msdn. microsoft.com/en-us/library/system.type.getgenericarguments.aspx)? –
Więc chcesz uzyskać alias C# dla typów pierwotnych? – abatishchev
Do abatishchev: Tak, to jest pomysł. Do O. R. Mapper: GetGenericArguments zwraca mi typ typu wewnętrznego, ale gdy struktura danych, taka jak Dictionary> zmusza mnie do utworzenia funkcji rekursywnej w celu jej wykrycia. –
pasapepe