列表<;T>;.添加对象会产生类型为';System.NullReferenceException'
本文关键字:类型 System NullReferenceException 对象 lt gt 添加 列表 | 更新日期: 2023-09-27 18:01:01
我得到一个类型的未处理异常
中出现"System.NullReferenceException"UgenityAdministrationConsole.exe
附加信息:对象引用未设置为对象
这发生在我的类构造函数中。
这是我的代码:
public static object dummyObject = new object(); // create a dummy object to use for initializing various things
public class EntityValuesClass
{
public List<EntityValue> EntityValues { get; set; }
public EntityValuesClass(EntityType _entType)
{
Type t;
PropertyInfo[] propInfoArray;
EntityValue entValue = new EntityValue();
t = entityTypeToType[_entType];
propInfoArray = t.GetProperties();
foreach (PropertyInfo propItem in propInfoArray)
{
entValue.FieldName = propItem.Name;
entValue.FieldValue = dummyObject;
EntityValues.Add(entValue); <------ this is where the error is happening
}
}
}
public class EntityValue
{
public string FieldName { get; set; }
public object FieldValue { get; set; }
}
EntityValues
是null
,因为您没有为其分配任何内容。
您可以将EntityValues = new List<EntityValue>();
添加到构造函数的开头来初始化它。
EntityValues
为空。您从未初始化过它。
您必须首先初始化EntityValue
属性:
EntityValues = new List<EntityValue>();
另一方面,根据CA1002:不要公开通用列表,你应该考虑将你的类更改为:
private List<EntityValue> _entityValues = new List<EntityValue>();
public List<EntityValue> EntityValues
{
get { return _entityValues; }
}