我有两个项目。 第一个是带有下一个界面的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在两个版本中的位置,
那么,唯一的解决方案是升级主项目还是降级测试项目?
答案 0 :(得分:1)
如果我没弄错的话,ObservableCollection在.NET 3.5的System.Windows。*命名空间中,只在4.0中它被移动到System.Collections.ObjectModel命名空间。
* update:它不是更改的命名空间,而是程序集。但结果是相同的:.NET认为它是一个不同的类型,因为包含的程序集是类型信息的一部分。
这里更大的问题是你的测试和你正在测试的类使用不同的.NET框架版本和不同版本的公共语言运行时。那可能会以泪水结束。你能为你的项目使用相同的版本吗?