-3

我收到一个未处理的类型异常

UgenityAdministrationConsole.exe 中发生“System.NullReferenceException”

附加信息:对象引用未设置为对象的实例。

这发生在我的类构造函数中。

这是我的代码:

    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; }
    }
4

3 回答 3

2

EntityValues一片空白。你从来没有初始化它。

于 2013-02-23T21:31:15.867 回答
2

您必须先初始化EntityValue属性:

EntityValues = new List<EntityValue>();

另一方面,根据CA1002:不要公开通用列表,您应该考虑将您的类更改为:

private List<EntityValue> _entityValues = new List<EntityValue>();
public List<EntityValue> EntityValues
{
    get { return _entityValues; }
}
于 2013-02-23T21:31:58.580 回答
2

EntityValues就像null你没有为它分配任何东西一样。

您可以添加EntityValues = new List<EntityValue>();到构造函数的开头以对其进行初始化。

于 2013-02-23T21:33:50.820 回答