Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net ObservableCollection-无法实现,因为它没有匹配的返回类型_.net_Compiler Errors - Fatal编程技术网

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

.net ObservableCollection-无法实现,因为它没有匹配的返回类型,.net,compiler-errors,.net,Compiler Errors,我有两个项目。 第一个是Wpf项目(框架3.5),下一个接口: public interface View { ObservableCollection<int> Items { set; } } 公共界面视图 { ObservableCollection项{set;} } 以及测试项目(框架4.0) public-class-ViewFake:View { 公共可观测收集项目 { 设置{抛出新的NotImplementedException();} } } 我得到

我有两个项目。 第一个是Wpf项目(框架3.5),下一个接口:

public interface View
{
    ObservableCollection<int> Items { set; }  
}
公共界面视图
{
ObservableCollection项{set;}
}
以及测试项目(框架4.0)

public-class-ViewFake:View
{
公共可观测收集项目
{
设置{抛出新的NotImplementedException();}
}
}
我得到这个错误:

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

我已经查看了两个版本中ObservableCollection的位置,并且

因此,唯一的解决方案是升级主项目或降级测试项目?

如果我没有弄错的话,ObservaleCollection位于.NET 3.5中的System.Windows.*命名空间中,只有在4.0中才移动到System.Collections.ObjectModel命名空间中

*更新:更改的不是名称空间,而是程序集。但是,结果相同:.NET将其视为不同的类型,因为包含的程序集是类型信息的一部分


这里更大的问题是,您的测试和测试中的类使用不同的.NET framework版本和公共语言运行库的不同版本。这很可能以眼泪告终。您的项目可以使用相同的版本吗?

您对名称空间的看法是错误的。在两种框架中都是相同的。正如我上面所说的,dll的不同之处在于,这里可以看到:和。关于相同的框架——我必须说服项目的作者。不同的框架使用了一年,直到现在我们才遇到了一个问题。噢,是程序集改变了,而不是名称空间。结果相同:类型不同。
public class ViewFake:View
{
    public ObservableCollection<int> Items
    {
        set { throw new NotImplementedException(); }
    }
}