I have an issue with a Lab for class and the issue is I’m not sure how to assign my reference.
Here is my Code :
class Bank
{
static List<Account> accounts = new List<Account>();
static Account active_account; // this will be an active
// Account (reference) retrieved from
// the bank. This will need to initialised either by
// CreateAccount or by RetrieveAccount.
static void Main()
{
bool running = true, valid_option = false;
int user_option = 0, account_num = 0, account_pin = 0;
string name = "", type = "";
decimal balance = 0, credit = 0;
Bank chosen = new Bank();
Console.Write("account number:");
account_num = SafeReadInteger(0);
Console.Write("pin number:");
account_pin = SafeReadInteger(0);
Console.Write("Client name:");
name = Console.ReadLine();
Console.Write("Balance:");
balance = SafeReadDecimal(0);
Console.Write("type:");
type = Console.ReadLine();
Console.Write("Credit:");
credit = SafeReadDecimal(0);
chosen.CreateAccount(account_num, account_pin, name, balance, type);
}
}
The comments are from the lecturer,
Now scrolling down to my constructor,
public Account CreateAccount(int ac_num_, int pin_, string owner_, decimal balance_, string type)
{
Account newAcc = null;
newAcc = new Account(ac_num_, pin_, owner_, balance_, type); // first uses the constructor to create an account
accounts.Add(newAcc); // second it inserts the account in the list and return the reference to the account
// depending on the type of account, a credit limit is set
active_account = new Account(ac_num_, pin_);
return newAcc;
}
My question is where do I Initialize active_account and to what do i assign it?
Your CreateAccount method is not a constructor. It is a factory method. It works like this:
Your Bank instance has a factory method named CreateAccount which returns an initialized instance of an Account class.