我们可以使用委托来调用回调方法。 例如,
public delegate bool ContinueProcessing();
//稍后我们可以写代码,
ContinueProcessing cp = new ContinueProcessing(IsDataAvailable);
cp + = new ContinueProcessing(IsTransactionComplete);
//稍后在代码定义方法
bool IsDataAvailable() { 返回true; }
bool IsTransactionComplete() { 返回true; }
cp.Invoke();
上面的调用将一个接一个地调用两个布尔方法。 为什么我们需要“活动”? “活动”的目的是什么?
答案 0 :(得分:9)
答案 1 :(得分:0)
代表非常通用。它们可以在任何上下文中使用:在同一个类中,在类之间,在静态方法中等。
事件更具体 - 它们专门设计用于一个类来订阅另一个类引发的事件。
Delegate是一种指向函数的(类型)类型安全指针,而event是包含委托的包装器,它为Subscribe / Unsubscribe / Raise事件提供标准接口。
答案 2 :(得分:0)
看起来'event'关键字是委托声明的修饰符,允许它包含在接口中,从声明它的类中限制它的调用,为它提供一对可自定义的访问器(添加和删除)并强制委托的签名(在.NET框架中使用时)。