-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

EntityValuesnull何も割り当てていないためです。

コンストラクターの先頭に追加EntityValues = new List<EntityValue>();して、初期化できます。

于 2013-02-23T21:33:50.820 に答える