有人可以意识到这种结构有什么意义吗?
public class A
{
public A(): this("..") {}
}
Run Code Online (Sandbox Code Playgroud)
: this(…)在构造函数调用具有指定参数的另一个构造函数之后.例如:
public class A
{
public A (string foo)
{
Console.WriteLine(foo);
}
public A () : this("foo bar")
{}
}
Run Code Online (Sandbox Code Playgroud)
这将允许您创建一个对象A并传递一个字符串来自定义其输出; 或者你可以在没有参数的情况下调用它,这会导致调用第二个构造函数,而第二个构造函数本身会将第一个构造函数"foo bar"作为参
还有一个类似的关键字,当A从其他类继承时使用.在这种情况下,您可以使用base而不是this直接从基类调用构造函数:
public class A : B
{
public A () : base("foo bar")
{}
}
Run Code Online (Sandbox Code Playgroud)
因此,当您现在创建一个对象时A,构造函数A将调用一个B接受字符串并"foo bar"在那里传递的构造函数.
有关更多信息,请参阅C#编程指南的"使用构造函数"部分.
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |