将委托与消息一起使用
Posted
技术标签:
【中文标题】将委托与消息一起使用【英文标题】:Using a Delegate with Messages 【发布时间】:2010-10-09 21:00:57 【问题描述】:我正在学习代表,并认为我可能已经找到了一个用途。基本上我所拥有的是一系列字符串属性,它们具有最小值和最大值,如下所示:
string weightInvalid(min as int32, max as int32)
有几条这样的消息,所有消息都有唯一的消息,但都共享相同的最小值和最大值签名。我认为可以在这里使用委托,但我该怎么做呢?看一些代码真的会帮助我了解这个委托的东西。
【问题讨论】:
C# 最好,但我会多种语言:) 【参考方案1】:在 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);
【讨论】:
【参考方案2】:下面是一个简单的控制台应用程序示例,可能会有所帮助...
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";
【讨论】:
谢谢。我想我已经设法实现了这一点。我只需要了解这样的事情是如何工作的。但是,我仍然对为什么这会有用感到困惑。这对我想做的事情有实际用途吗?以上是关于将委托与消息一起使用的主要内容,如果未能解决你的问题,请参考以下文章
Swinject:如何将委托模式与接口隔离(类与接口)一起使用?
将 Kotlin 属性委托与 by 一起使用时出现 NullPointerException (NPE)