c# - 有人可以解释一下这个 C# 构造函数语法 - public Class1(Class 2 Obj) : this(obj. ToString()) 吗?

标签 c# methods constructor this

这是代码:

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/

相关文章:

Javascript:未捕获的类型错误,不是构造函数

java - 如何使用继承和构造函数使用 1 个具有 2 个不同大小的数组

c# - 几个 AppDomains 和 native 代码

java - 本地图中的键是一个对象时,如何通过该对象的属性进行搜索?

c# - 在 C# 中更改标签的背景颜色

java - 如何在 Java 中使用循环调用多个方法?

java - Eclipse java 自动方法查找器

c++ - 如何在类的构造函数中初始化 vector

c# - 为什么我不能在 For 循环中使用 ==?

c# - Windows IOT 广播网络摄像头