Domanda

Sto imparando sui delegati e che potrei aver trovato un uso per uno. Fondamentalmente quello che ho è una serie di proprietà di stringa che assumono un valore minimo ed un valore massimo, in questo modo:

string weightInvalid(min as int32, max as int32)

Ci sono diversi messaggi come questo, tutti con messaggi unici ma tutti condividono la stessa firma di minimo e massimo. Penso che un delegato potrebbe essere usato qui, ma come potrei fare per farlo? Sarebbe davvero aiutare me per vedere un po 'di codice in modo ho potuto ottenere una comprensione su questa roba delegato.

È stato utile?

Soluzione

Di seguito è un semplice esempio di applicazione Console che potrebbe aiutare ...

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";
        }

Altri suggerimenti

su 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);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top