ObservableCollection - 无法实现,因为它没有匹配的返回类型

时间:2012-08-17 18:12:19

标签: .net compiler-errors

我有两个项目。 第一个是带有下一个界面的Wpf Project(FrameWork 3.5):

public interface View
{
    ObservableCollection<int> Items { set; }  
}

和测试项目(FrameWork 4.0)

public class ViewFake:View
{
    public ObservableCollection<int> Items
    {
        set { throw new NotImplementedException(); }
    }
}

我收到此错误:

  

ViewFake'没有实现接口成员'View.Items'。   'ViewFake.Items'无法实现'View.Items',因为它没有   具有匹配的返回类型   'System.Collections.ObjectModel.ObservableCollection`1'。

我看过ObservableCollection在两个版本中的位置,

那么,唯一的解决方案是升级主项目还是降级测试项目?

1 个答案:

答案 0 :(得分:1)

如果我没弄错的话,ObservableCollection在.NET 3.5的System.Windows。*命名空间中,只在4.0中它被移动到System.Collections.ObjectModel命名空间。

* update:它不是更改的命名空间,而是程序集。但结果是相同的:.NET认为它是一个不同的类型,因为包含的程序集是类型信息的一部分。

这里更大的问题是你的测试和你正在测试的类使用不同的.NET框架版本和不同版本的公共语言运行时。那可能会以泪水结束。你能为你的项目使用相同的版本吗?