这可能有点超前,但假设我想在ViewModel中使用Moq来创建一些设计时数据,就像这样:
public class SomeViewModel
{
public SomeViewModel(ISomeDependency dependency)
{
if (IsInDesignMode)
{
var mock = new Mock<ISomeDependency>();
dependency = mock.Object; // this throws!
}
}
}
这个模拟可以被设置来完成一些任务,但你应该明白这个意思。
我的问题是,在Blend的设计时间里,这段代码会抛出一个InvalidCastException异常,异常信息大致为“无法将类型为'Castle.Proxies.ISomeDependencyProxy2b3a8f3188284ff0b1129bdf3d50d3fc'的对象转换为类型 'ISomeDependency'。”尽管这看起来与Moq无关,但我希望这个Moq示例能够帮助解决问题;)
你有什么想法吗?
谢谢!