情景是
隐藏BankAccount的构造函数。并允许建设 BankAccount,创建一个名为CreateNewAccount的公共静态方法 负责创建和返回新的BankAccount对象 请求。这种方法将充当创造新的工厂 BankAccounts。
我使用的代码就像
private BankAccount()
{
///some code here
}
//since the bank acc is protected, this method is used as a factory to create new bank accounts
public static void CreateNewAccount()
{
Console.WriteLine("\nCreating a new bank account..");
BankAccount();
}
但是这不停地抛出错误。我不知道如何在同一个类的方法中调用构造函数
答案 0 :(得分:7)
对于 factory 的方法,它的返回类型应为BankAccount
。在该方法中,private
构造函数可用,您可以使用它来创建新实例:
public class BankAccount
{
private BankAccount()
{
///some code here
}
public static BankAccount CreateNewAccount()
{
Console.WriteLine("\nCreating a new bank account..");
BankAccount ba = new BankAccount();
//...
return ba;
}
}
答案 1 :(得分:3)
您应该在该方法中实际创建BankAccount
的新实例并将其返回:
private BankAccount()
{
///some code here
}
//since the bank acc is protected, this method is used as a factory to create new bank accounts
public static BankAccount CreateNewAccount()
{
Console.WriteLine("\nCreating a new bank account..");
return new BankAccount();
}
答案 2 :(得分:0)
使用'new'运算符:
Foo bar = new Foo();