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.

Foi útil?

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
scroll top