Pregunta

Estoy aprendiendo acerca de delegados y creo que puede haber encontrado un uso para uno. Básicamente lo que tengo es una serie de propiedades de cadena que se producen en un valor mínimo y un valor máximo, así:

string weightInvalid(min as int32, max as int32)

Existen varios mensajes como este, todos con mensajes únicos, pero todos comparten la misma firma del mínimo y el máximo. Creo que un delegado se podría utilizar aquí, pero ¿cómo hago para hacerlo? Sería de gran ayuda que vea algo de código para que pudiera tener una idea de estas cosas delegado.

¿Fue útil?

Solución

A continuación se muestra un ejemplo simple aplicación de consola que puede ayudar ...

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

Otros consejos

en 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top