Hallo Kha,
in der Basisklasse wollte ich es eigentlich als Byte. In den erbenden Klassen sind es verschiedene Enums, die aber alle vom Typ Byte sind.
Ich hatte diese Lösung so gewählt, da ich die Dekodierung in der Basisklasse realisiere. Ich hatte ursprünglich gedacht, dass ich nur die Basisklasse benötige und hierin meine Lösung realisiert. Jetzt bräuchte ich aber Unterklassen, in den das "Tag"-Feld einen anderen Typ hat. Deshalb kam ich da auf die Idee mit dem Überschreiben. Wie würdest du das machen?
Basisklasse sieht vereinfacht aus dem Gedächtnis so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| class BasisKlasse { public byte Tag{get; set;} public int Length {get; set;} public byte[] Value {get; set;}
public byte[] Decode() { ... } }
class SpezialKlasse : Basisklasse { public new EnumTyp Tag{get; set;} } |
Ich möchte natürlich in der Spezialklasse genauso die Dekodierung nutzen, da das Tag-Feld auch wiederum ein Byte ist.
Hoffe das ist soweit klar?!
Gruß Gabe