【发布时间】:2014-03-15 17:21:53
【问题描述】:
我有一个名为SerializedAction的委托包装器
[Serializable]
public class SerializedAction
{
private Action action;
public void Add (Action handler) {...}
public void Remove (Action handler) {...}
public void Invoke () { Get().Invoke(); }
public static SerializedAction operator +(SerializedAction action, Action handler) {...}
public static SerializedAction operator -(SerializedAction action, Action handler) {...}
private RebuildInvocationList() {...}
private Action Get() {...}
...
}
我已经设法重载了 +/- 运算符,因此我不必显式调用 Add 和 Remove - 但每当我想调用时,我必须调用 Invoke - 我想知道是否有是一种像普通委托一样调用它的方法,即
var meAction = new SerializedAction();
meAction += handler;
meAction(); // instead of meAction.Invoke()?
这有可能吗?
谢谢。
【问题讨论】:
标签: c# delegates action wrapper invoke