C# unbekannten Typ zur Laufzeit generieren

haze4real

Lt. Junior Grade
Registriert
Juni 2009
Beiträge
266
folgendes habe ich:

string typename = "System.Int32";
string value = "4";

aus diesen beiden Werten soll zur Laufzeit ein entsprechendes Objekt generiert werden, welches ich dann in einer Variable des Typs object zuweisen kann.

Pseudocode:
Code:
string typename = "System.Int32";
string value = "4";

Type type = Type.GetType(typename);
object o = Activator.CreateInstance(type);
type.SetValue(o,value); // Pseudo...
.
.
.
Int32 test = (Int32)o;
 
Irgendwie kann ich mir schlecht vorstellen, dass das gehen soll. In welchem Zusammenhang brauchst du das denn?

wie wärs damit:

Code:
Int32 test;
Int32.TryParse(value, out test); ?

Du kannst doch nen String in so gut wie alles parsen, ich denke du musst dich da
schon etwas einschränken.
 
ob es sinnvoll ist oder nicht, ist nicht die Frage.. wollte nur wissen ob es möglich ist, habe die Antwort mittlerweile:

object result = Convert.ChangeType("4", Type.GetType("System.Int32"));

dies sollte mit Klassen funktionieren welche IConvertible implementieren, wie z.B. Int32.

Und das mit Int32 war nur ein Beispiel, wie gesagt ein unbekannter Typ, hätte also auch Int64 sein können...
 
Zurück
Oben