如何找到FakeItEasy返回的Fake对象的基础类型?

时间:2014-01-18 19:49:01

标签: fakeiteasy

我已经完成了

fake1 = A.Fake<MyType>()

然后我想在假的上使用'reflection'来将我的依赖容器注册为MyType。但是,我无法弄清楚如何获得底层伪造类型。有什么指针吗?

1 个答案:

答案 0 :(得分:0)

这是我最终得到的代码。

var builder = new ContainerBuilder();
foreach (var obj in fakes)
{
    Type fakedType = obj.GetType().BaseType;
    builder.RegisterInstance(obj).As(fakedType);
}

请注意,它假设您正在基类伪造上进行虚拟方法,而不是接口伪造,因为目前这对我来说是正确的。 :)

您可以通过更多的反射轻松扩展它,以将实例注册为所有继承的接口...