title: .NET webservice using an instance of a parameter type?
body: <p>I have a Windows forms project and a Web Service project in my solution, and I'm trying to call the web service and return a customer object as the result. The problem is that when I try to receive the return object, I get an error that it can't convert it. For example, here is the signature for my webservice:</p>
  
  <pre><code>Public Function GetDriverByID(ByVal DriverID As Integer) As Driver
  </code></pre>
  
  <p>And here is the code I'm using to call it:</p>
  
  <pre><code>    Dim d As Driver = mywebserviceinstance.GetDriverByID(1)
  </code></pre>
  
  <p>But I receive this compile-time error (wsDrivers is the name of the web reference I've added to my form project): "Value of type ProjectNamespace.Common.wsDrivers.Driver cannot be converted to ProjectNamespace.Common.Driver"</p>
  
  <p>This "Common" namespace contains the Driver class, and I'm not sure why the return class from the web service isn't just a generic "Driver", but is instead a "wsDrivers.Driver", and I can't convert it back. Anybody know how I can deal with this type mismatch?</p>
  
  <p>EDIT: Thanks for the explanations - this actually makes it clear what it's doing. However, is there any way that I can force it to use the actual type instead of the proxy (or, rather, is there any way to convert between the "real" instance and the "proxy" instance), or do I have to serialize the properties before I send them over the wire, and then manually de-serialize the return values?</p>