因此,我希望将多播操作存储在一个类中,并传递从修改类的私有操作对象的类方法调用它的方法:
public class Bar;
public class Xzxxy
{
public delegate void BarDelegate(Bar bar);
private Action<Bar> BarAction;
public void Add(BarDelegate bd)
{
BarAction += bd;
}
public void Invoke(Bar bar)
{
BarAction.Invoke(bar);
}
}
这不起作用,因为在Xzxxy.Add
中,第BarAction += bd;
行有以下错误
不能隐式将
Xzzzy.BarDelegate
转换为System.Action<Bar>
.
我应该如何声明BarDelegate
才能获得我想要的行为?