我正在写这样的代表.
delegate void MyMethod(string arg1, string arg2);
MyMethod mm;
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它需要两行来声明一个委托.如果我的班级有20名代表,我需要编写40行代码.任何人都可以告诉我在一行代码中写这个吗?提前致谢.
Jon*_*eet 10
你在这里宣布两件截然不同的事情:
MyMethod理解差异很重要,因为当你真的想要声明一个新的委托类型时,以及当你只想声明一个现有委托类型的字段时,你可以解决这个问题.如果您的类有20个委托字段,那么您几乎肯定不希望为每个字段声明一个新类型.如果他们有相同的签名,你可以使用单一类型......或更好,只需使用其中一种框架类型,如Action<...>或Func<...>.
Action<string, string> mm;
Run Code Online (Sandbox Code Playgroud)
(有Action代表的void返回类型,并Func代表了非void返回类型,不同数量的参数,都表示一般.看看MSDN的更多细节.)
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |