我创建了一个包含类型列表的类,并派生到我创建的另一个类。这看起来如下:
namespace MyIntegretyCheck.Common
{
/// <summary>
/// Description of PolicyErrors.
/// </summary>
public partial class PolicyErrorEndingDates
{
public int ID_P {get;set;}
public DateTime DT_S_E {get;set;}
public DateTime DT_SC_E {get;set;}
public List<PolicyErrorDescr> Errors {get;set;}
}
public partial class PolicyErrorDescr
{
public string Field1{get;set;}
public string Field2 {get;set;}
public string F1IsThanF2 {get;set;}
public string Message {get;set;}
public int ErrorLevel {get;set;} //0= Info | 1= Warning | 2= Error
}
}
现在我创建了一个类型的列表PolicyErrorEndingDates
,添加了一个条目,然后尝试添加他的嵌套列表错误的条目,如下所示:
public List<PolicyErrorEndingDates> MyPolicyEndingDates()
{
DAL.PolicyEndingDates ped = new DAL.PolicyEndingDates();
List<PolicyErrorEndingDates> MyErrors = new List<PolicyErrorEndingDates>();
foreach(var m in ped.CheckTables())
{
bool HasError = false;
PolicyErrorEndingDates p = new PolicyErrorEndingDates();
p.ID_P = m.ID_P;
if(m.DT_S_E != m.DT_SC_E)
{
PolicyErrorDescr e = new PolicyErrorDescr();
HasError = true;
e.Field1 = "DT_S_E";
e.Field2 = "DT_SC_E";
e.Message = "blablabla...";
e.ErrorLevel = 3;
p.Errors.Add(e);
}
if(HasError)
MyErrors.Add(p);
}
}
调试器Object reference not set to an instance of an object
在p.Errors.Add(e);
我的if
. 我做错什么了?如何创建嵌套列表的实例?