Usando um delegado com mensagens
Pergunta
Eu estou aprendendo sobre delegados e acho que pode ter encontrado um uso para um. Basicamente o que eu tenho é uma série de propriedades de cadeia que levam em um valor mínimo e um valor máximo, assim:
string weightInvalid(min as int32, max as int32)
Existem várias mensagens como esta, todos com mensagens únicas, mas todos compartilhando a mesma assinatura de mínimo e máximo. Eu acho que um delegado poderia ser usado aqui, mas como eu iria sobre como fazer isso? Seria realmente me ajudar a ver algum código para que eu pudesse ter uma idéia sobre essas coisas delegado.
Solução
A seguir é um exemplo simples aplicação Console que podem ajudar ...
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";
}
Outras dicas
em 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);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow