这是代码:
class Class1
{
private Class2 object;
public Class1(Class2 obj) : this(obj.ToString())
{
this.object = obj;
}
}
更具体地说,: this
部分是做什么的。
最佳答案
:this(obj.ToString)
导致首先运行采用字符串参数定义的构造函数的构造函数代码。一旦运行,就会执行构造函数代码(设置 this.object = obj
)。
这在 MSDN's page on Constructors 中有介绍。 (最后一个示例集)。
请注意,在上面的代码中,如所写,这将导致编译器错误。您还需要有一个如下所示的构造函数:
public Class1(string str) // Constructor taking a string, though it could be non-public
{
// Do something with str
}
有了这个构造函数,它将被调用,执行它的初始化步骤,然后第一个构造函数(设置 this.object
)将运行。
关于c# - 有人可以解释一下这个 C# 构造函数语法 - public Class1(Class 2 Obj) : this(obj. ToString()) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11160394/