これは少し難しいかもしれませんが、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 に関連しているようには見えませんが、Castle に関連しているようには見えませんが、Moq の例が役立つことを願っています ;)
それはなぜですか?
ありがとう!