我现在有一系列函数,比如:
public static void A(Bitmap b, int value){...}
public static void B(Bitmap b, int value, int valueB){...}
public static void C(Bitmap b, float value){...}
public static void D(Bitmap b, string value, string value1){...}
我写了一个委托,希望能统一调用这些函数:
delegate void ProcessFunc(Bitmap bmp, params object[] values);
ProcessFunc funcA = new ProcessFunc(A);-------------------->这里编译错误,提示A方法没有符合委托ProcessFunc的重载。
想了一下,直接实现是不可能的。
进而想了一个折中的办法,就是用一个匿名委托来转化参数,如下:
ProcessFunc funcA = new ProcessFunc( (bmp,values) => { A(bmp,(int)values[0]); });
935

被折叠的 条评论
为什么被折叠?



