2009-02-16 8 views
2

Je voudrais savoir si les attributs peuvent être utilisés pour "mélanger" la fonctionnalité à une classe/méthode/propriété.Exploiter la puissance des attributs .NET

Quelque chose comme:

[TrackChanges] 
public Foo 
{ 
    get; 
    set; 
} 

Quelqu'un comment cela serait mis en œuvre, si possible?

Répondre

3

Jetez un oeil à PostSharp, un cadre AOP. C'est un post-compilateur, qui utilise des attributs personnalisés pour injecter un comportement supplémentaire au code existant. La plupart des exemples sont généralement le suivi et la sécurité.

0

Ils peuvent certainement mais vous devrez utiliser la réflexion pour le faire. Aussi juste parce que vous pouvez le faire ne signifie pas que c'est facile ou élégant. La réflexion vous donnera accès à tous les membres de n'importe quel type que vous souhaitez. Vous devrez récupérer ces membres et travailler à travers l'API de réflexion .NET pour les manipuler. Bien que cela puisse fonctionner ce ne serait pas la chose la plus facile à maintenir ou à lire.

Questions connexes