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);

Итак, как вы знаете, вы НЕ МОЖЕТЕ этого сделать, потому что OneDelegate относится только к первому, а не ко второму. Но есть ли способ сделать это? или что-то в этом роде?

PS1: Я хочу иметь любое количество объявлений OneDelegate, а не одно или два.

22
задан ROMANIA_engineer 20 April 2018 в 14:52
поделиться