使用带有消息的委托

时间:2009-02-25 17:28:55

标签: delegates messages max minimum

我正在了解代表,并认为我可能已经找到了一个用途。基本上我所拥有的是一系列字符串属性,它们具有最小值和最大值,如下所示:

string weightInvalid(min as int32, max as int32)

有几条这样的消息,都有独特的消息,但都共享相同的最小和最大签名。我认为可以在这里使用代表,但我该怎么做呢?这真的有助于我看到一些代码,所以我可以掌握这个委托的东西。

2 个答案:

答案 0 :(得分:0)

on 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);
}

答案 1 :(得分:0)

下面是一个简单的控制台应用程序示例,可能会有所帮助...

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