Maison >développement back-end >C++ >Comment puis-je ajouter des propriétés aux types existants en C# sans propriétés d'extension natives ?
Extension des types C# : alternatives aux propriétés d'extension natives
C# ne dispose actuellement pas de prise en charge native des propriétés d'extension. Cela signifie que vous ne pouvez pas ajouter directement de propriétés aux types existants. Cependant, plusieurs solutions de contournement existent :
Solutions de contournement pour l'ajout de propriétés :
TypeDescriptor
pour attacher des attributs aux objets au moment de l'exécution, simulant ainsi efficacement les propriétés étendues.Regard vers l'avenir : possibilités futures
Bien qu'elles ne soient pas encore implémentées, les propriétés d'extension ont été suggérées comme future fonctionnalité C#. Le concept plus large « d'extension de tout », englobant l'extension de propriété, est à l'étude pour les futures versions linguistiques.
Statut actuel et syntaxe proposée
En mai 2017, la proposition de propriété d'extension restait en phase de proposition, la syntaxe étant susceptible de changer. La syntaxe proposée ressemblait à ceci :
<code class="language-csharp">public extension DerivedType of BaseType : Interface { public PropertyType PropertyName { get; set; } }</code>
Cela ajouterait effectivement PropertyName
à BaseType
.
Résumé
Bien que les propriétés d'extension directe ne soient actuellement pas disponibles en C#, des solutions de contournement viables existent. L'inclusion potentielle de « tout l'extension » suggère de futures améliorations de l'extensibilité des types.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!