Entwickler-Ecke

Sonstiges (.NET) - Eigener Objektname bei Objekterzeugung


Locha - Sa 03.04.10 17:52
Titel: Eigener Objektname bei Objekterzeugung
Hallo,

und zwar es handelt sich um folgende Frage:
Kann ich bei einer Objekterzeugung den "Objektnamen" manuell festlegen z.B. Tastatureingabe? :?

Der hintegrund ist ich wollte eine Methode erstellen die mir auf Wunsch Objekte erstellet und diese mit Werten versorgt.

Hier ist die Methode:
:arrow:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
public void Objekt()
{
object objektname;


Console.WriteLine("Bitte den Objektnamen Eingeben");
objektname = Console.ReadLine();
Console.WriteLine("Anzahl der Sitze eingeben bitte");
sitze = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Bitte Anzahl der Türen eingeben");
tankinhalt = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Bitte den Verbaruach eingeben");
verbrauch = Convert.ToInt32(Console.ReadLine());

Kfz objektname = new Kfz(sitze,tankinhalt,verbrauch);
}


Sollte es schwere logikfehler geben nicht wundern ich bin C# anfänger und habe niemanden zum fragen. :)

Bedanke mich im vorraus für die Antwort,
MfG Locha


JüTho - Sa 03.04.10 18:20

Hallo,

Code ist bitteschön immer zu markieren. Gehe auf deinen ersten Beitrag, drücke den Schere-Button, "Bereiche" öffnen, in der ComboBox C# auswählen, Code-Bereich im Text markieren, Plus-Button drücken, "Vorschau" wählen und kontrollieren, erst nach korrekter Anzeige "Absenden". Das liest sich erheblich besser.

Zu deiner Frage: Nein, das gibt es nicht; und das ist auch überflüssig. Was du meinst, ist der Name einer Variablen; und der ist immer nur innerhalb eines bestimmten Bereichs und nur für den Code gültig. Mit dem Programmablauf selbst hat er nichts zu tun: "Namen sind wie Schall und Rauch".

Nach dem Ende deiner Methode ist das Kfz-Objekt sowieso nicht mehr gültig und wird dem Garbage Collector (GC) zum Löschen übergeben. Wozu soll also dieser Name irgendwie wichtig sein, und vor allem: Wozu soll der Anwender Einfluss auf den internen Code haben? Das ist in der Tat völlig unlogisch.

Gruß Jürgen


ThoMa - Sa 03.04.10 19:24

Hallo!

Theoretisch könntest Du das was Du willst über ein Dictionary<string, object> abbilden. Die Frage ist jedoch welchen Sinn das machen soll. Das Dictionary hätte dann als Key eben den "Objektnamen" und als Value dann die jeweilige Instanz.

Grüße
ThoMa


Locha - So 04.04.10 14:14

Ok danke für die rasche Antwort das mit dem Sinn ist so ne Sache Problem ist hab halt immernoch Schwierigkeiten eine vernünftige Logik aufzubauen, aber Übung macht den Meister :).

MfG Locha