不能使用对象为类创建泛型伪造

时间:2013-05-26 13:05:02

标签: c#-4.0 asp.net-mvc-4 microsoft-fakes

无法使用

这样的对象为类创建泛型伪造品
Fakes.ShimDataServiceRepository<object>.AllInstances.GetEntitiesExpressionOfFuncOfT0Boolean = (instance, filter) =>
{

return null;

}

调用转到实际的代码实现。

但是当我们指定对象类型时,它正在工作

Fakes.ShimDataServiceRepository<Customer>.AllInstances.GetEntitiesExpressionOfFuncOfT0Boolean = (instance, filter) =>
{

return null;

}

但是我需要为所有对象提供一般的假冒伪劣,因此不需要为每个对象重复代码。

我的问题是为什么<object>的假冒无效?因为它是所有类的父级。

请任何人帮助我:(

1 个答案:

答案 0 :(得分:0)

  

我的问题是为什么假的不起作用?因为它是所有类的父级。

Object是所有类的父级,但DataServiceRepository<object>不是DataServiceRepository<Customer>的父级。

具有不同具体类型的泛型类不再是“同一类”。这两种类型不共享静态或伪造。