0

次のようなオブジェクトを使用するクラスの一般的な偽物を作成することはできません

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

return null;

}

呼び出しは、実際のコードの実装に進みます。

しかし、オブジェクトタイプを指定すると、機能しています

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

return null;

}

しかし、すべてのオブジェクトに対して一般的な単一の偽物が必要なので、オブジェクトごとにコードを繰り返す必要はありません。

私の質問は、なぜ偽物が機能し<object>ないのですか?. それはすべてのクラスの親であるためです。

誰か助けてください:(

4

1 に答える 1

0

私の質問は、なぜ偽物が機能しないのですか?. それはすべてのクラスの親であるためです。

Object はすべてのクラスの親ですが、 の親でDataServiceRepository<object>はありませんDataServiceRepository<Customer>

具象型が異なるジェネリック クラスは、もは​​や「同じクラス」ではありません。2 つのタイプは静的または偽物を共有しません。

于 2013-05-26T13:40:15.430 に答える