2009-02-25 9 views
0

J'apprends des choses sur les délégués et pense que j'ai peut-être trouvé une utilisation pour un. En fait ce que j'ai une série de propriétés qui prennent une valeur minimale et une valeur maximale, comme suit:Utilisation d'un délégué avec des messages

string weightInvalid(min as int32, max as int32) 

Il y a plusieurs messages comme celui-ci, tous avec des messages uniques mais qui partagent tous la même signature du minimum et maximum. Je pense qu'un délégué pourrait être utilisé ici, mais comment pourrais-je y aller? Cela m'aiderait vraiment à voir du code afin que je puisse avoir une idée de ce genre de délégué.

+0

C# de préférence, mais je suis multilingue :) – Austin

Répondre

0

est Ci-dessous un exemple simple d'application de la console qui peut aider ...

public delegate string foo(int min, int max); 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      CallFoo(foo1); 
      CallFoo(foo2); 
      CallFoo(foo3); 

      Console.WriteLine("Press ENTER to exit..."); 
      Console.ReadLine(); 
     } 

     private static void CallFoo(foo foo) 
     { 
      Console.WriteLine(foo(1, 2)); 
     } 

     private static string foo1(int min, int max) 
     { 
      return "foo1"; 
     } 

     private static string foo2(int min, int max) 
     { 
      return "foo2"; 
     } 

     private static string foo3(int min, int max) 
     { 
      return "foo3"; 
     } 
+0

Merci. Je pense que j'ai réussi à mettre en œuvre cela. J'avais juste besoin d'avoir une idée de la façon dont quelque chose comme ça fonctionnerait. Cependant, je ne comprends toujours pas pourquoi cela serait utile. Est-ce une utilisation pratique pour quelque chose comme je veux faire? – Austin

0

sur C#:

delegate string weightInvalid(int min, int max); 

string MyWeightInvalid(int min, int max) 
{ 
    return ""; 
} 

string SomeMethod() 
{ 

    weightInvalid myFunc = new weightInvalid(MyWeightInvalid); 
    return myFunc(0, 1); 
} 
Questions connexes