Compilation personnalisée pour un attribut

Signaler
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
-
cs_coq
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour,
Je cherche un moyen de compiler moi-même les membres marqués par un attribut donné.

Exemple simpliste :

[AllwaysReturn(5)]
public int Method(...) { ... }

Comment pourrais-je faire pour dire au compilateur de me laisser compiler cette méthode moi-même en insérant les opcodes d'un "return 5" ?

<hr size="2" width="100%" />Julien.

4 réponses

Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
76
Salut,

Je doute que ça soit possible directement avec le compilateur actuel, mais ça doit être jouable en post compilation, via ildasm/ilasm notamment.
Voir ce post de Mike Stall pour un exemple : Tool to allow inline IL in C# / VB.Net

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6
Zut c'est dommage...
En fait j'avais juste envie d'améliorer le nouveau raccourci des propriétés du 3.0...

Public int Value { get; set; }

...afin de pouvoir aussi définir une valeur de départ, un évènement lorsqu'elle est modifiée, avec un moindre effort (on m'a dit que ce genre de paresse faisait le bon programmeur =D ) dans le style :

event EventHandler ValueChanged;

[ChangedEvent("ValueChanged"), InitialValue(3)]
Public int Value { get; set; }

Je trouvais ça sympa, tu n'as pas une autre idée ?

<hr size="2" width="100%" />Julien.
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6
Aaah voilà un canon pour ma mouche :
PostSharp Laos
Article Developpez

<hr size="2" width="100%" />Julien.
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
76
Il faudrait vraiment que je me décide à le regarder de plus prêt ce PostSharp moi.

/*
coq
MVP Visual C#
CoqBlog
*/