在对象初始值设定项中使用“this”

时间:2012-06-06 19:18:10

标签: c# initialization

我有以下问题:

public class ChildClass{
   public Object Parent = null;
}
public class ParentClass{
   public ChildClass CreateChild(){
        return new ChildClass{ Parent = this; }
   }
}

我对理解对象初始化器有点困惑。在CreateChild()方法中,this是否会引用ParentClassChildClass

3 个答案:

答案 0 :(得分:4)

this将引用它所在的类。

在示例中,this将是ParentClass的一个实例,因为它在 ParentClass的正文中声明为

答案 1 :(得分:1)

它始终指的是文本嵌入的类。在这种情况下,ParentClass


<强>更新

对象初始值设定项不在ChildClass范围内,但在ParentClass范围内。因此this引用ParentClass的当前实例。对象初始值设定项不属于ChildClass,但是属于CreateChild的方法ParentClass的代码。 “公共类ParentClass {”和最终“}”之间的所有内容都属于ParentClass

答案 2 :(得分:1)

执行CreateChild的ParentClass实例(尽管目前的代码可能不会编译)。 this =当前类的实例,在本例中是父类