Derzeit unterstützt C# erweiterte Attribute nicht nativ. Der Roslyn-Compiler hat diese Funktionalität noch nicht in seine Standardbibliothek integriert.
In verschiedenen C#-Versionen wurde das Hinzufügen erweiterter Attribute diskutiert. Aufgrund von Bedenken hinsichtlich seines Werts und der Notwendigkeit einer gut konzipierten Implementierung wurde diese Funktion jedoch noch nicht hinzugefügt.
Trotz der fehlenden nativen Unterstützung gibt es einige Problemumgehungen, die eine eingeschränkte Funktionalität bieten:
Neueste Updates deuten darauf hin, dass erweiterte Attribute in Zukunft möglicherweise unterstützt werden. Das Thema „Alles erweitern“ wurde angesprochen, wobei der Schwerpunkt auf Grundstücken und Feldern liegt. Allerdings befindet sich diese Funktion noch in der Diskussions- und Vorschlagsphase und es kann nicht garantiert werden, dass sie in einer kommenden C#-Version enthalten sein wird.
Gemäß der vorgeschlagenen Syntax verwenden Erweiterungseigenschaften eine ähnliche Syntax wie Erweiterungsmethoden:
<code>public extension MyPersonExtension extends Person : IEmployee { public decimal Salary { get; set; } }</code>
Diese Syntax ermöglicht die Erweiterung eines bestimmten Typs um zusätzliche Eigenschaften. Beachten Sie, dass Erweiterungseigenschaften keine privaten Instanzmitglieder hinzufügen können, wodurch die Integrität der ursprünglichen Klassenstruktur sichergestellt wird.
Die Syntax und Implementierung erweiterter Eigenschaften kann sich ändern, wenn die Funktionalität weiterentwickelt und verfeinert wird.
Das obige ist der detaillierte Inhalt vonUnterstützt C# Erweiterungseigenschaften?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!