为什么类对象不能访问类中定义的委托

时间:2015-03-02 08:01:03

标签: c# .net

我有一些BankAccount如下。

我的问题是使用BankAccount类的实例,我可以访问类中声明的ActionDelegate委托但是在类中定义的不是BalanceChangedEventHandler委托吗?

public class BankAccount
{
    public Action<int> ActionDelegate;

    public delegate void BalanceChangedEventHandler(object sender, BalanceChangedEventArgs args);

    public event BalanceChangedEventHandler BalanceChanged;
}

2 个答案:

答案 0 :(得分:2)

(强调我的)

  

...使用BankAccount类的实例,我可以访问[...]但是在类中定义的不是BalanceChangedEventHandler委托吗?

委托声明没有状态。因此,您不通过实例访问它们,您可以像嵌套类声明一样访问它们:

 myBankAccount.BalanceChangedEventHandler // won't work
 BankAccount.BalanceChangedEventHandler   // works

答案 1 :(得分:0)

您可以通过类名访问委托,而不是此类的实例

所以你必须写

BankAccount.BalanceChangedEventHandler