Использование делегата с сообщениями
Вопрос
Я изучаю делегаты и думаю, что, возможно, нашел им применение.По сути, у меня есть ряд строковых свойств, которые принимают минимальное и максимальное значения, например:
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);
}
Не связан с StackOverflow