Salut tout le monde,
je suis déclarer une fonction dans une autre fonction afin qu'elle ne soit visible et accessible que dans celle-ci.
J'ai presque trouvé mon bonheur avec les délégués et fonctions anonymes, le seul grain de sable qui reste est que la déclaration du délégué doit se faire en dehors de la fonction.
Hors, comme je souhaite n'utiliser la fonction interne que dans une fonction, je désirerais ne rien déclarer hors de la fonction principale.
Voici un code qui fonctionne :
Voici le code que je souhaiterais avoir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class MaClasse { delegate void MonDelegue( string s ); public void Test() { MonDelegue d = delegate( string s ) { MessageBox.Show( s ); }; d( "Toto" ); d( "Tata" ); } }
Ou un autre dans le même style, où tout se fait dans la méthode Test.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class MaClasse { public void Test() { delegate void MonDelegue( string s ); MonDelegue d = delegate( string s ) { MessageBox.Show( s ); }; d( "Toto" ); d( "Tata" ); } }
Y-a-t-il une solution ou pas ?
PS : merci de ne pas dire que c'est inutile, ce n'est pas forcément utile dans cet exemple mais ce n'est qu'un exemple.
Partager