C#:在构造函数中使用它

时间:2011-11-05 02:29:49

标签: c# constructor

在C#中可以在构造函数中使用它吗? (即,可以在构造函数中引用实例)

举个简单的例子:

public class Test{

 public Test()
 {
    Type type = this.GetType()
 }

}

2 个答案:

答案 0 :(得分:5)

是的,您可以在构造函数中使用this,但不能在字段初始值设定项中使用。

所以这是无效的:

class Foo
{
    private int _bar = this.GetBar();

    int GetBar()
    {
        return 42;
    }
}

但这是允许的:

class Foo
{
    private int _bar;

    public Foo()
    {
        _bar = this.GetBar();
    }

    int GetBar()
    {
        return 42;
    }
}

答案 1 :(得分:1)

你在找这样的东西吗?

public class Test{

 private string strName;
 public Test(string strName)
 {
    this.strName = strName;
 }

}

我认为在类的每个部分使用this标识符是很好的...属性,方法,属性,因为它在复杂类或大类中更加暗示你正在修改或使用的内容它可以帮助您更快地了解您正在使用的内容,但正如我所说,在我看来。