如何在以下代码中更正NullReferenceException?

Dre*_*oet 0 .net c# list nullreferenceexception .net-4.5

我是编程的新手,这可能是一个简单的问题,但我似乎无法弄明白.我的课程中有以下两个课程:

public class TrackingObject
{
public int OrderId { get; set; }
public int ProjectCount { get; set; }
public IList<ProjectInfo> Projects { get; set; }
}

public class ProjectInfo
{
public int ProjectId { get; set; }
public string ProjectType { get; set; }
public int ImageCount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

为了测试我创建了一个控制台应用程序并使用了以下代码:

static void Main(string[] args)
{
    TrackingObject oTracking = new TrackingObject();
    ProjectInfo pInfo = new ProjectInfo();

    oTracking.OrderId = 1;
    oTracking.ProjectCount = 1;
    pInfo.ProjectId = 1;
    pInfo.ProjectType = "CANVAS";
    pInfo.ImageCount = 1;
    oTracking.Projects.Add(pInfo);

    Console.WriteLine(oTracking.Projects.Count);
    Console.ReadLine();     
}
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,它会抛出NullReferenceException在以下行未处理:

    oTracking.Projects.Add(pInfo);
Run Code Online (Sandbox Code Playgroud)

我完全理解这个异常是因为oTracking.Projects是NULL.完成我的尝试的正确方法是什么?任何指导将非常感谢.

I4V*_*I4V 5

添加oTracking.Projects = new List<ProjectInfo>()将项目添加到它.

  • 在TrackingObject的构造函数中执行此操作 (4认同)