我学习有关委托,认为我可能已经找到了使用了一个。基本上我有是一系列采取的最小值和最大值,像这样的字符串的属性:

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

其他提示

在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);
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top