Hallo, ich programmiere derzeit ein Programm in dem zur Laufzeit neue Objekte einer eigenen Klasse konstruiert werden sollen. Dabei soll der Name eines solchen Objektes durch einen string gegeben werden, der zur Laufzeit bestimmt wird.
also zB.
string objectname;
objectname = Console.ReadLine();
Object (objectname) = new Object();
ich möchte also den in einer variablen gespeicherten string als meinen Objektnamen deklarieren.
Ist das möglich? und wenn ja, dann wie?
Es wären auch Tipps, was ich mir zur Lösung genauer anschauen sollte, hilfreich.
Ist dies [FAQ] Variablennamen zur Laufzeit zusammensetzen / Dynamisches Erzeugen von Controls, was du evtl. suchst bzw. könnte es dir weiterhelfen?
C# ist eine typisierte Sprache. Eine Klasse kannst Du in dieser Form nicht live erzeugen.
Auch Objektnamen müssen zur Compilezeit feststehen.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Okay, vielen dank für die schnelle Antwort:)
Bitte beachte auch [Hinweis] Wie poste ich richtig? Punkt 1.1.1 und 1.1.
BTW: Was du Objektname nennst, heißt Variable und selbst die sind kein Name für ein Objekt, sondern haben als Variable selbst einen Namen. Auf welches Objekt sie verweisen, kann sich jederzeit ändern und es können sogar mehrere Variablen auf das gleiche Objekt verweisen. Außerdem kann es sein, dass ein Objekt nur aus einer Collections heraus referenziert wird. Der Name gibt also immer nur für die Variable selbst.