C# 中的委托参数问题

ybycom 2010-02-28 06:45:20
我现在有一系列函数,比如:
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的重载。

想问问各位,我这么定义不定参数的委托行得通吗?如果可行的话,该怎么写?



最后,今天是元宵佳节,祝大家节日愉快,多吃些汤圆哈~
...全文
182 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ybycom 2010-02-28
  • 打赏
  • 举报
回复
引用 5 楼 bingo_ 的回复:
引用 3 楼 ybycom 的回复:引用 1 楼 bingo_ 的回复:再加一个 public static void A(Bitmap b, params object[] values){...} 参数要对应这样虽然可以,但是我就要把那些方法都改掉了。我现在就是希望能不动原有方法。。。 自己刚才又想了一下,感觉这个想法不可能实现。。。

那你可以建一个中转方法 或者象2楼所说 匿名方法

delegate void ProcessFunc(Bitmap bmp, params object[] values);
ProcessFunc funcA = new ProcessFunc( (bmp,values)=>{
            A(bmp,1);
      }
);


虽然还是有点麻烦,不过也只能这样写了,谢谢了
特别 2010-02-28
  • 打赏
  • 举报
回复
有些问题本身其他不成为问题
只不过我们的方向搞错了
既然使用C#,就要遵循C#的规则
虽然我很尊重对C#有所突破的同志
特别 2010-02-28
  • 打赏
  • 举报
回复
我认为无解



回复内容太短了!
bingo_ 2010-02-28
  • 打赏
  • 举报
回复
引用 3 楼 ybycom 的回复:
引用 1 楼 bingo_ 的回复:再加一个 public static void A(Bitmap b, params object[] values){...} 参数要对应
这样虽然可以,但是我就要把那些方法都改掉了。我现在就是希望能不动原有方法。。。

自己刚才又想了一下,感觉这个想法不可能实现。。。


那你可以建一个中转方法 或者象2楼所说 匿名方法

delegate void ProcessFunc(Bitmap bmp, params object[] values);
ProcessFunc funcA = new ProcessFunc( (bmp,values)=>{
A(bmp,1);
}
);
ybycom 2010-02-28
  • 打赏
  • 举报
回复
引用 2 楼 cuike519 的回复:
匿名委托!

字数必须要够长~~~~


匿名委托也是需要显式定义参数类型的吧。。。
ybycom 2010-02-28
  • 打赏
  • 举报
回复
引用 1 楼 bingo_ 的回复:
再加一个

public static void A(Bitmap b, params object[] values){...}

参数要对应

这样虽然可以,但是我就要把那些方法都改掉了。我现在就是希望能不动原有方法。。。

自己刚才又想了一下,感觉这个想法不可能实现。。。
cuike519 2010-02-28
  • 打赏
  • 举报
回复
匿名委托!

字数必须要够长~~~~
bingo_ 2010-02-28
  • 打赏
  • 举报
回复
再加一个

public static void A(Bitmap b, params object[] values){...}

参数要对应

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧