Ich möchte eine Klasse "Indicator" erstellen, die "Control" ausnimmt und die Eigenschaft "Image" setzt.
Da Control
keine Image-Eigenschaft besitzt, Ich möchte eine Template-Klasse implementieren ("Indicator") , die nur Klassen akzeptiert, die eine bestimmte Eigenschaft haben (Bild).
Ist es möglich?
Sie können reflection verwenden, um die Eigenschaft Ihres Objekts zu erhalten:
%Vor% Beachten Sie, dass in diesem Code davon ausgegangen wird, dass Image
eine Zeichenfolge (Pfad zu einem Bild) ist. Sie können den Typ gemäß Ihren Anforderungen ändern. Es ist nur ein Beispiel.
Aufbauend auf @ Fabjans Antwort können Sie anstelle der Reflektion die Typprüfung durchführen, die erforderlich ist, um die Eigenschaft Image
jedes Mal zu identifizieren, wenn Sie Instanzen des Objekts instanziieren Überprüfen Sie nur, ob der -Typ selbst instanziiert wird: