c#syntax help构造函数之后会发生什么?

时间:2010-12-13 11:28:38

标签: c#

public Butler(IWeapon weapon): this(weapon, new Communicate())
{}

这(武器,新的Communicate())是什么意思?

4 个答案:

答案 0 :(得分:2)

它调用同一类型的另一个构造函数,传入传递给 this 构造函数的weapon和一个新的Communicate对象。我假设还有类似的东西:

// might actually be private
public Butler(IWeapon weapon, Communicate communicate) {...}

这种方法非常有用,它允许您拥有多个构造函数,但只将代码放在最复杂的构造函数中。所有其他构造函数只是将参数(或默认值,必要时)传递给选定的构造函数。

链接构造函数在具有: this(...)

的构造函数的主体之前被调用

答案 1 :(得分:1)

它在同一个类中调用构造函数但具有不同的参数,例如:

public class Test
{

  public Test() : this("Richard")
  {

  }

  public Test(string name)
  {

  }

}

答案 2 :(得分:0)

这意味着Butler扩展了当前类的实例,其中武器对象作为参数传递,并且Communicate对象的新实例被传递给类构造函数。

答案 3 :(得分:0)

它正在使用签名Butler(IWeapon,ICommunicate)调用另一个构造函数。