相关疑难解决方法(0)

C# - 如何"重载"代理?

首先,我正在阅读一些论坛和MSDN中的帮助,并且所有人都说代理人不能超载.

现在,我希望有这样的东西:

public delegate void OneDelegate();
public delegate void OneDelegate(params object[] a);

public void DoNothing(params object[] a) {}
public void DoSomething() { /* do something */ }

private OneDelegate someFunction;

someFunction = new OneDelegate(DoSomething);
someFunction = new OneDelegate(DoNothing);
Run Code Online (Sandbox Code Playgroud)

所以,就像你知道的那样,你不能这样做,因为OneDelegate只引用第一个而不是第二个.但是,有没有办法做到这一点?或类似的东西?

PS1:我希望拥有任意数量的OneDelegate声明,而不仅仅是一两个声明.

c# delegates overloading

22
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×1

delegates ×1

overloading ×1