【发布时间】:2013-09-28 21:19:06
【问题描述】:
将参数传递给委托的最佳方式是什么?我可以看到以下两种方式的好处,因此我想知道最常用和行业接受的方式:
1) 单独传递任何参数,每个参数就是一个参数。
示例委托
public delegate void MyDelegate(bool PARAM1, String PARAM2, int PARAM3);
2) 通过结构传递任何参数,委托的唯一参数就是该结构。
示例结构
public struct MyDelegateArgs
{
public bool PARAM1;
public String PARAM2;
public int PARAM3;
}
示例委托
public delegate void MyDelegate(MyDelegateArgs args);
【问题讨论】:
-
您认为第一种方法的好处是什么?
-
我看到主要好处是代码更少,但我也可以看到将代码放在其他地方(在单独文件中的结构中)的好处。
-
使用参数结构的唯一好处是如果您要传递许多参数或另一个具有相同参数的委托。
-
如果参数超过四个或五个,则使用第二种方法。