调用建立双向关联的方法

时间:2014-05-02 21:29:42

标签: c# invoke

我正在尝试完成此任务,但即使我相信我已经从SavingsAccount调用RecordCustomer()方法,但由于其保护级别,我收到的错误是它无法访问,但我正在摸不着头脑试图解决它。

class Customer
{
    private List<SavingsAccount> _Accounts = new List<SavingsAccount>();
    public ReadOnlyCollection<SavingsAccount> Accounts
    {
        get { return _Accounts.AsReadOnly(); }
    }

    public void AddAccount(SavingsAccount account) 
    {
        if (_Accounts.Contains(account) == false)
        {
            _Accounts.Add(account);
            account.RecordCustomer(this);
        }
    }

class SavingsAccount : Account
{
    public void RecordCustomer(Customer customer)
    {
         if (_Accounts.Contains(customer) == true && _Owners.Contains(customer) ==     false)
             _Owners.Add(customer);
    }
}

由于

1 个答案:

答案 0 :(得分:0)

您遇到的问题是该课程可能无法访问。默认情况下,C#类具有internal的可访问性,这意味着如果您显示的两个类位于同一个程序集(即同一个项目)中,那么它将起作用。如果他们不在同一个程序集中,那么您需要进行SavingsAccount public