Вопрос

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

string weightInvalid(min as int32, max as int32)

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

Это было полезно?

Решение

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

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

Другие советы

на С#:

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);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top