Wie implementieren von virtuellen statischen Eigenschaften?

Soweit ich weiß C# nicht die Unterstützung von virtuellen statischen Eigenschaften. Wie implementiert man solch ein Verhalten in C#?

Ich archivieren wollen, dass alle abgeleiteten Klassen von einer Basisklasse überschreiben muss eine statische Eigenschaft. Immer einen abgeleiteten Typ, ich will den Zugriff auf eine statische Eigenschaft namens Identifier

Type t = typeof(DerivedClass);
var identifier= (String) t.GetProperty("Identifier", BindingFlags.Static).GetValue(null, null);
  • statische member können nicht überschrieb (oder ist es "überschrieben"?) verzeihen Sie mein schlechtes Englisch =(
  • Wie du gesagt hast, in C# nicht unterstützt, so können Sie es umsetzen.
  • Sowieso, was Sie wollen, dass? das gleiche kann erreicht werden durch Attributes.
  • wenn Ihr wirklich static, warum virtual ?
  • Mit einem Klasse Gerät, und Unterklassen für jedes konkrete Gerät: DeviceA, DeviceB. Jedes Gerät hat einen regex-string für die Identifikation. Öffnen eines Geräts handle ich die Abfrage der id. Jetzt kann ich die Suche nach dem richtigen Gerät Klasse
  • Vielleicht können Sie eine virtuelle Instanz-Eigenschaft statt? Nicht Sie haben eine Instanz des DeviceA etc.?
  • Nein, ich werde nicht das Objekt, nur der Typ. Wenn ein statische Objekt wird nicht mehr benötigt.
  • Mögliche Duplikate von Warum kann ich keine abstrakten statischen Methoden in C#?

InformationsquelleAutor Razer | 2013-03-11
Schreibe einen Kommentar