Hallo,
ich versuche eine Klasse zu schreiben die für jede unterklasse eine dynamische id erstellt. Also nicht eine id pro instanz sondern eine id pro Klasse. Das versuche ich so zu regeln dass die Unterklassen bei denen die ID erstellt wird absolut nichts machen müssen damit die ID passt.
In diesem beispiel könnte es dann sein dass es folgendermaßen aussiet:
Oberklasse ID: 0
Unterklasse1 ID: 1
Unterklasse2 ID: 2
Unterklasse11 ID: 3
Unterklasse12 ID: 4
Dabei ist es mir auch völlig egal welche klasse welche id bekommt sie muss nur einzigartig sein.
Ist das irgendwie möglich? Ohne C++ mit den statischen variablen in methoden bekomm ich das irgendwie nicht hin.
Meine aktuelle Klasse (Diese ist falsch sie erstellt für jede "instanz" jeder unterklasse eine eindeutige id):
Das ergebnis der richtigen lösung sollte dann sein:
Also für jede Klasse die ID eindeutig und alles in der Oberklasse Programmiert.
Bitte nicht nach dem Sinn oder ähnliches fragen. Ich brauche es einfach so.
Lg
Rooky420
ich versuche eine Klasse zu schreiben die für jede unterklasse eine dynamische id erstellt. Also nicht eine id pro instanz sondern eine id pro Klasse. Das versuche ich so zu regeln dass die Unterklassen bei denen die ID erstellt wird absolut nichts machen müssen damit die ID passt.
Code:
Oberklasse
| / Unterklasse11
|-Unterklasse1
| \ Unterklasse12
|
|-Unterklasse2
In diesem beispiel könnte es dann sein dass es folgendermaßen aussiet:
Oberklasse ID: 0
Unterklasse1 ID: 1
Unterklasse2 ID: 2
Unterklasse11 ID: 3
Unterklasse12 ID: 4
Dabei ist es mir auch völlig egal welche klasse welche id bekommt sie muss nur einzigartig sein.
Ist das irgendwie möglich? Ohne C++ mit den statischen variablen in methoden bekomm ich das irgendwie nicht hin.
Meine aktuelle Klasse (Diese ist falsch sie erstellt für jede "instanz" jeder unterklasse eine eindeutige id):
Code:
abstract class Oberklasse
{
private static int id = 0;
internal readonly int ID = getNextID();
private static int getNextID()
{
return id++;
}
}
Das ergebnis der richtigen lösung sollte dann sein:
Code:
Unterklasse1 t1 = new Unterklasse1 ();
int i1 = t1.ID; //ID ist 0
Unterklasse2 t2 = new Unterklasse2();
int i2 = t2.ID; //ID ist 1
Unterklasse12 t3 = new Unterklasse12();
int i3 = t3.ID; //ID ist 2
Unterklasse1 t4 = new Unterklasse1();
int i4 = t4.ID; //ID ist 0
Unterklasse12 t5 = new Unterklasse12();
int i5 = t5.ID; //ID ist 2
Bitte nicht nach dem Sinn oder ähnliches fragen. Ich brauche es einfach so.
Lg
Rooky420
Zuletzt bearbeitet: