MissingMethodException:找不到方法

时间:2014-05-27 06:01:36

标签: c# .net vb.net indexer

只是无法理解我为什么会收到此错误。我有代码并尝试实现索引器:

public class BOCollection<TKey, TValue>
{
    IDictionary<TKey, TValue> _privateDictionary = new Dictionary<TKey, TValue>();
    public TValue this[TKey key]
   {
        get{return _privateDictionary[key];}
        set{_privateDictionary[key] = value;}
    }

//Dictionary Methods
//Other methods
}

没有编译时错误,但是出现运行时错误:

  

找不到方法:&#39; System.Collections.Generic.Dictionary`2 NGC.BO.Base.BOBaseClass.get_Child()&#39;。

enter image description here

2 个答案:

答案 0 :(得分:1)

你的索引器没问题。似乎您的集合中有一些缺少必需的Child属性实现的对象。

答案 1 :(得分:1)

所以另一个解决方案可能是,因为我经历过这个。 我有一个项目取决于其他一些项目。主要项目还参考了其中一个项目 - 但是 - 它没有使用它。

因此,当我删除主对象中的引用时,问题就消失了。 我有一种感觉,原因是主对象是最后构建的,因此它用它自己的otherproject.dll覆盖新构建的otherproject.dll ...因为它没有被使用。

所以我的建议是: 查看您的引用并检查它是否在项目中使用。如果它不是 - 一起删除它。