title: Override WCF Client Methods
body: <p>I have a WCF service that I use in one of my applications.  Everything is working just fine, but I am trying to create some test classes that have the same API, but avoid the trip to the server to get their information.  For example:</p>
  
  <pre><code>// Goes to the server to get a list of names.  It might be a while.
  MyClient client = new MyClient();
  string[] theNames = client.GetSpitefulUsers();
  ...
  
  // This is what I would use in a test case...
  public FakeClient : MyClient
  {
    ...
    public override string[] GetSpitefulUsers()
    {
      // This returns almost immediately, but I can't just override it because the
      // 'MyClient' definition is generated code.
      return new string[] {"Aldo", "Barry", "Cassie"};
    }
  }
  </code></pre>
  
  <p>So what is the easiest way to provide this type of functionality without having to resort to clever hacks, mocking libraries, etc?</p>