如何通过'this'对象快速初始化中的引用

本文关键字:初始化 引用 对象 何通过 this | 更新日期: 2023-09-27 18:17:31

例如:

List<Projects> projectList = new List<Projects>
{
    new Project
    { 
         id = 100500, 
         Subprojects = new List<Subproject>
         {
             new Subproject { Project = "**Need to pass pointer on the project**" },
         }
    }
}

如何传递这个指针?

这是一个关于语法的问题,我清楚地知道可以用另一种方式来做

如何通过'this'对象快速初始化中的引用

为每个类添加标准函数/构造函数如何?

例如:

List<Project> cProjects = new List<Project> { new Project(100500) }; 
public class Project
{
    public Project(int id)
    {
        this.id = id;
        Subprojects = new List<Subproject> { new Subproject(this) };
    }
    public int id;
    public List<Subproject> Subprojects;
}
public class Subproject
{
    public Subproject(Project project)
    {
        this.Project = project;
    }
    public Project Project;
}

您不能在一条语句中做到这一点:您想要分配给Project的指针(实际上是引用)在您想要分配它的时候没有分配。您需要使用一个中间变量—例如:

Project p;
List<Projects> projectList = new List() {
    p = new Project() { 
        id = 100500
    ,   Subprojects = new List<Subproject>()
    }
};
p.Subprojects.Add(
    new Subproject { Project = p }
);