我的一个类中有很多成员,我的一个参数为空的构造函数,初始化一些成员。另外5、6个含参构造函数,都需要执行无参数构造函数的内容。但发现和java不一样,java在一个构造函数中,可以调用该类其他的。但C#不可以吗?只能在每个含参数构造函数中都把无参数构造函数的语句copy一遍??

解决方案 »

  1.   

    当然可以,就像调用普通函数一样啊public B(int i) : this() {} 
    public B(int i,int j) : this(i) {} 
      

  2.   

    有啊 
    public Employee(int weeklySalary, int numberOfWeeks)
        : this(weeklySalary * numberOfWeeks)
    {
    }
    还可以使用base关键字,调用基类构造函数:public Manager(int initialdata)
        : base()
    {
        //Add further instructions here.
    }
    参考msdn:
    Using Constructors (C# Programming Guide)
    http://msdn.microsoft.com/en-us/library/ms173115.aspx
      

  3.   

    重载构造函数 public TestCode(){};public TestCode(string a):this(a,0)
    {}public TestCode(string a,string b)
    {}
    public TestCodeEx():base(){} //调用父类的构造函数。
      

  4.   

    不懂java 不过应该可以吧?