如何在C#中调用方法中的构造函数

时间:2013-01-11 05:33:22

标签: c# constructor

情景是

  

隐藏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();
}

但是这不停地抛出错误。我不知道如何在同一个类的方法中调用构造函数

3 个答案:

答案 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();