19Fermer21
GoldenCrystalLe 16/05/2009 à 13:46
Une propriété autogénérée c'est une propriété où les accesseurs get/set sont générés automatiquement tongue
Si tu n'as pas besoin d'avoir accès à la variable sous-jacente tu déclares une propriété comme ça: int MaVariable { get; set; }
Ce truc te crée automatiquement un champ privé et des accesseurs qui vont bien, et si plus tard ça te va pas il suffit de changer l'implémentation de la propriété, mais en attendant ça te fait toujours moins de code à taper. cheeky
(Celà dit personellement je préfère toujours déclarer mes propriétés moi même mais c'est quand même une fonctionnalité bien sympa)

A savoir bien sur que dans le code (CIL) généré, une propriété "X" lecture/écriture possède une méthode get_X(); et une méthode set_X(value); pour représenter ses accesseurs, du coup oui tu les utilises comme ce que tu faisais précédemment, sauf que tu n'as pas à déclarer de fonction explicitement smile

Sinon je peux te montrer l'approche DynamicMethod qui crée dynamiquement le get/set mais qui est un peu plus lourde à l'initialisation (et aussi rapide pour le reste du temps), mais quoi qu'il en soit ça sera toujours mieux que de la réflexion pure. (Enfin le code qu'a posté yAro peut être un peu optimisé quand même, notamment avec des TypedReference ^^)