类中的clss,null引用异常,C#

use*_*700 -4 c#

我的班级看起来像这样.

public class LogSettings
{
    public string attributeName { get; set; }//TODO: change the variable name

    public Warnings[] warnings = new Warnings[3];
}

public class Warnings
{
   public string typeOfWarning {get; set;}

    public bool isAbsolute { get; set; }

    public decimal numUpDownValue { get; set; }

    public LogSettingActions[] actionItems = new LogSettingActions[10];
}

public class LogSettingActions
{
    public string actionItem{ get; set;}
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试创建Warnings实例时,它会抛出NullReference错误.

var rows = FindChilds<ctlLogConfigRow>(lvLogConfigTemplate);
foreach (var row in rows)
{
    LogSettings instance = new LogSettings();
    instance.attributeName = row.GroupHeaderText;

    var allWarnings = FindChilds<ctlWarnings>(row);

    for (int i = 0; i < allWarnings.Count; i++)
    {

       instance.warnings[i].typeOfWarning = allWarnings[i].ctlWarningGroupBoxFixedHeader1.Header.ToString();//It throws error here
Run Code Online (Sandbox Code Playgroud)

有谁能够帮我?

jru*_*ell 5

LogSettings.warnings 被初始化为数组,但数组元素未初始化.

考虑在LogSettings构造函数中初始化数组项:

public class LogSettings
{
    public LogSettings()
    {
         warnings = new Warnings[3];
         for (int i=0; i<warnings.Length; i++)
         {
              warnings[i] = new Warnings();
         }
    }

    public string attributeName { get; set; }//TODO: change the variable name

    public Warnings[] warnings;
}
Run Code Online (Sandbox Code Playgroud)