我在SoapUI上收到Object reference not set to an instance of an object.
错误。我使用记录器来检查record
是否持有正确的StartTime
和EndTime
但由于某种原因,当我尝试将包含userId
和TimePeriod
的record
对象添加到响应中时,我遇到了该错误。此外,result
是具有从DataAccess
层返回信息的变量。对此的任何帮助将不胜感激。
GetUserResponse response = new GetUserResponse();
UserRecord record = new UserRecord();
record.UserId = userId;
record.timePeriodList = new List<TimePeriod>();
for (int i = 0; i < result.Count; i += 2)
{
TimePeriod timeData = new TimePeriod();
timeData.StartTime = result[i].Time;
timeData.EndTime = result[i + 1].Time;
record.timePeriodList.Add(timeData);
}
response.UserRecordList.Add(record); // line I get that error
这是我的回复的代码:
public class GetUserResponse
{
private List<UserRecord> userRecordList;
public List<UserRecord> UserRecordList
{
get { return userRecordList; }
set { userRecordList = value; }
}
}
public class UserRecord
{
private string userId;
private List<TimePeriod> timePeriodList;
public string UserId
{
get { return userId; }
set { userId = value; }
}
public List<RbeActivationPeriod> TimePeriodList
{
get { return timePeriodList; }
set { timePeriodList = value; }
}
}
public class TimePeriod
{
private DateTime startTime;
private DateTime endTime;
public DateTime StartTime
{
get { return startTime; }
set { startTime = value; }
}
public DateTime EndTime
{
get { return endTime; }
set { endTime = value; }
}
}
您需要
声明列表的新实例UserRecordList
因为当您尝试插入元素时将null
该实例。
GetUserResponse response = new GetUserResponse();
response.UserRecordList = new List<UserRecord>();
或者,您可以在类级别或构造函数中添加它。
public class GetUserResponse
{
private List<UserRecord> userRecordList = new List<UserRecord>();
public List<UserRecord> UserRecordList
{
get { return userRecordList; }
set { userRecordList = value; }
}
}