代码之家  ›  专栏  ›  技术社区  ›  Aistina

为什么我会得到这个NullReferenceException?

  •  0
  • Aistina  · 技术社区  · 17 年前

    list 不为null,并报告 Count = 0 当我把鼠标悬停在上面的时候。

    System.Collections.IList list = ((System.Collections.IList)obj);
    list.Add(val);
    

    我的变量被实例化有点奇怪,所以这可能与此有关?这就是所涉及的代码。

    System.Runtime.Serialization.FormatterServices.GetUninitializedObject(type);
    

    哪里 type

    System.Type.GetType("System.Collections.Generic.List`1[[Networking.Client, Networking, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
    

    2 回复  |  直到 17 年前
        1
  •  2
  •   Aistina    17 年前

    呸,我讨厌在我问了一个问题之后就找到答案。事实证明 List<T> 不喜欢使用 GetUninitializedObject ,所以我必须为列表添加一个特例以使用Activator.CreateInstance(这不是大多数类的选项)。

        2
  •  0
  •   Andy Mikula Eric Mickelsen    17 年前

    是你的 val 正确实例化?这是我唯一能看到的问题,但很难说。