Использование делегата с сообщениями - PullRequest
0 голосов
/ 25 февраля 2009

Я узнаю о делегатах и ​​думаю, что, возможно, нашел применение одному. По сути, у меня есть ряд строковых свойств, которые принимают минимальное и максимальное значения, например:

string weightInvalid(min as int32, max as int32)

Существует несколько подобных сообщений, все с уникальными сообщениями, но все они имеют одинаковую сигнатуру минимума и максимума. Я думаю, что здесь можно использовать делегата, но как мне поступить? Это действительно помогло бы мне увидеть некоторый код, чтобы я мог понять этот материал делегата.

Ответы [ 2 ]

0 голосов
/ 25 февраля 2009

Ниже приведен простой пример консольного приложения, который может помочь ...

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 голосов
/ 25 февраля 2009

на 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...