C # хранение данных от ввода к массиву данных внутри класса - PullRequest
0 голосов
/ 21 марта 2011

У меня есть класс под названием «Клиенты» с Arraylist внутри для хранения информации об учетных записях клиентов; затем внутри класса Accounts у меня есть Arraylist для хранения транзакций.

У меня вопрос, как бы мне сэкономить в Arraylist, найденном в классе клиентов. Кажется, я не могу получить к нему доступ.

    if (allInputOK)
    {
        //create Account
        Account temp = new Account(tempAccSortCode, tempAccNumber, tempAccNickName, tempAccDate, tempAccCurBal, tempAccOverDraft, tempNumTrans);

        //add to array
        //Need to add here.


        //finish up
        MessageBox.Show("Success Account added ");
        resetForm();
    }

Это мой метод в форме для добавления в Arraylist. Сначала он проверяет правильность ввода, затем создает новую учетную запись с именем temp (Account - это имя класса). Тогда как мне сохранить это в Arraylist внутри учетной записи класса?

Спасибо.

Ответы [ 2 ]

1 голос
/ 21 марта 2011

Опираясь на ответ Swaff ранее, просто сделайте ваш Accounts ArrayList приватным и откройте функциональность AddAccount:

public class Customer {
  private ArrayList _accounts = new ArrayList();

  ...

  public void AddAccount(Account theAccount){
    //do some validation...if OK, then add to ArrayList...
    _accounts.Add(theAccount);
  }

  //you'll also need facade methods to retrieve accounts
}
1 голос
/ 21 марта 2011
public class Account
{
}

public class Customer
{
    public ArrayList Accounts
    {
        get;
        private set;
    }

    public Customer()
    {
        Accounts = new ArrayList();
    }

    public void AddAccount(Account account)
    {
        // if account is valid add it to the local collection
        Accounts.Add(account);
    }
}

Тогда в вашем коде:

if (allInputOK)
{
    //create Account
    Account temp = new Account(tempAccSortCode, tempAccNumber, tempAccNickName, tempAccDate, tempAccCurBal, tempAccOverDraft, tempNumTrans);

    //add to array
    _customer.AddAccount(temp);

    //finish up
    MessageBox.Show("Success Account added ");
    resetForm();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...