我应该多次调用委托来将不同的参数传递给同一个方法吗?

时间:2011-05-27 08:40:28

标签: c# .net

我有一种基于输入参数做某事的方法。现在,我想通过添加到委托的调用列表但使用不同的参数来调用该方法。

可以不多次调用委托吗?

private delegate void myDel(int a);
private myDel del;

public MainWindow()
{
  InitializeComponent();
  del = delmethod;                
}
private void delmethod(int a)
{
 //Do something
}
private void call_methods()
{
 del(1);
 del(2); 
 del(3);
}

这是正确的方式还是我有其他选择?请注意,我可能希望使用循环传递许多这样的参数。

虽然我提到here,但他们只有调用不同方法的解决方案,但我想要相同的方法。

编辑

  

我想从一个传输数据   通过调用数据库到另一个   方法取决于参数

环境:Windows窗体,.Net 3.5

2 个答案:

答案 0 :(得分:0)

我会去

private void delmethod(params int[] abc)
{
  //Do something for each item in abc
} 

private void call_methods()
{
   del(1,2,3); //you can call with any number of parameters
} 

答案 1 :(得分:0)

  

通过添加到委托的调用列表但具有不同的参数。

可能但很难看。你得到的结果如下:

del += (x) => delmethod(1);
del += (x) => delmethod(2);
del += (x) => delmethod(3);

del(-1); // Note the -1 is not used