我有一种基于输入参数做某事的方法。现在,我想通过添加到委托的调用列表但使用不同的参数来调用该方法。
可以不多次调用委托吗?
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
答案 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