Using Moq at Blend design time

Posted by adrian hara on Stack Overflow See other posts from Stack Overflow or by adrian hara
Published on 2010-03-25T08:08:23Z Indexed on 2010/03/25 8:13 UTC
Read the original article Hit count: 579

This might be a bit out there, but suppose I want to use Moq in a ViewModel to create some design time data, like so:

public class SomeViewModel
{
   public SomeViewModel(ISomeDependency dependency)
   {
      if (IsInDesignMode)
      {
         var mock = new Mock<ISomeDependency>();
         dependency = mock.Object; // this throws!  
      }
   }
}

The mock could be set up to do some stuff, but you get the idea.

My problem is that at design-time in Blend, this code throws an InvalidCastException, with the message along the lines of "Unable to cast object of type 'Castle.Proxies.ISomeDependencyProxy2b3a8f3188284ff0b1129bdf3d50d3fc' to type 'ISomeDependency'." While this doesn't necessarily look to be Moq related but Castle related, I hope the Moq example helps ;)

Any idea why that is?

Thanks!

© Stack Overflow or respective owner

Related posts about wpf

Related posts about Silverlight