Hmm ouais ok j'avais pas vu le static caché, c'est mal... Il n'y était que sur la déclaration de la classe et pas des membres (ce qui est invalide

)
Mais il y a d'autres solutions à ça. Après sachant que tu veux une classe la plus légère possible, je peux te proposer de t'en sortir en externalisant ta méthode Test.

Si tu peux te permettre les fonctionnalités C# 3.0 ça se fait au coût d'une méthode d'extension (donc 3x rien) mais ça coûtera un peu plus au niveau de l'appel de la méthode

En fait la liste des choses auxquelles je penses qui peuvent s'avérer utile: (Y'a pas vraiment d'ordre à chercher là dedans)
- Méthode d'extension
- Dictionnaire (genre type/objet MaClasse => interface/délégué/que sais-je)
- Délégués (C'est le seul type de contrat que tu pourras avoir avec des méthodes statiques hélas, mais c'est normal)
En mixant les 3 à ton gré tu auras peut-être une solution meilleure mais la ça dépendra complètement de ce que tu veux faire en vrai j'imagine.
./10> nan cherche pas j'avais posté avant ton edit
