Compilation personnalisée pour un attribut

Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 - 12 mai 2008 à 16:56
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 18 mai 2008 à 10:15
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

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
12 mai 2008 à 17:21
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
*/
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
12 mai 2008 à 19:23
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.
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
12 mai 2008 à 19:58
Aaah voilà un canon pour ma mouche :
PostSharp Laos
Article Developpez

<hr size="2" width="100%" />Julien.
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
18 mai 2008 à 10:15
Il faudrait vraiment que je me décide à le regarder de plus prêt ce PostSharp moi.

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous