2009-02-25 10 views
0

Ich lerne über Delegaten und denke, dass ich einen Nutzen für einen gefunden haben könnte. Im Grunde, was ich habe, ist eine Reihe von String-Eigenschaften, die in einem Minimalwert und einem Maximalwert nehmen, etwa so:Verwenden eines Delegaten mit Nachrichten

string weightInvalid(min as int32, max as int32) 

Es gibt mehrere Meldungen wie diese, alle mit einzigartigen Nachrichten, aber alle die gleiche Signatur von Mindest teilen und maximal. Ich denke, hier könnte ein Delegierter eingesetzt werden, aber wie würde ich das tun? Es würde mir wirklich helfen, etwas Code zu sehen, damit ich dieses Delegiertenmaterial verstehen konnte.

+0

C# vorzugsweise aber ich bin mehrsprachig :) – Austin

Antwort

0

Im Folgenden finden Sie eine einfache Konsolenanwendung Beispiel, die helfen können ...

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

Danke. Ich denke, ich habe es geschafft, dies umzusetzen. Ich brauchte nur ein Bild von genau, wie so etwas funktionieren würde. Ich bin jedoch immer noch verwirrt, warum das nützlich wäre. Ist das ein praktischer Nutzen für etwas, das ich tun möchte? – Austin

0

auf 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); 
} 
Verwandte Themen