Wenn Sie eine bestehende Steuerung erweitern möchten, müssen Sie diese Steuerung erben
public class MyTextBox : TextBox
{
public Guid Guid { get; set; }
public string Label { get; set; }
}
Sie dies für jede Kontrolle zu wiederholen, da Sie nicht die bestehenden Kontrollen ändern. Wenn Sie Ihre Vererbungshierarchie von Grund auf neu erstellen würden (was bei Steuerelementen nicht möglich ist), würden Sie diese Eigenschaften einfach in der Basisklasse hinzufügen und daraus andere Klassen ableiten.
Wenn Sie komplexere Funktionen integrieren möchten, können Sie Zusammensetzung verwenden, das heißt erstellen Sie die neue Funktionalität separat und nennen es von abgeleiteten Klassen
public class ComplexFunctionality
{
private readonly Control _c;
public ComplexFunctionality(Control c)
{
_c = c;
}
public void SettingGuid(Guid newGuid)
{
...
}
}
public class MyTextBox : TextBox
{
private readonly ComplexFunctionality _cs = new ComplexFunctionality(this);
private Guid _guid;
public Guid Guid {
get { return _guid; }
private set {
_cs.SettingGuid(value);
_guid = value;
}
}
}
Warum benötigen Sie die GUID? – jdweng
Erstellen Sie eine Klasse mit der Guid-Eigenschaft und erben Sie diese Klasse? – Bauss
Sie können die Hierarchie der WinForms-Steuerelemente und die Verwendung der Vererbung untersuchen. Wenn Sie jedoch in einer GUI-Umgebung arbeiten, sollten Sie natürlich darauf achten, dass keine Konflikte mit den vorhandenen Objekten auftreten, die Namespaces verwenden. –