Vb.net 从webservice对象到类对象的类型转换

Vb.net 从webservice对象到类对象的类型转换,vb.net,service,types,Vb.net,Service,Types,我创建了很多类。我有一些Web服务引用这些类,并将这些类包含为参数和返回对象 当我调用weservice时,我必须将该类转换为webservice对象,否则我可以键入转换错误 是否有一种通用的方法可以在这些类型之间进行转换,而不必手动赋值 比如说 public class person fname as string lname as string end class web服务方法 public getperson() as person return new person() end

我创建了很多类。我有一些Web服务引用这些类,并将这些类包含为参数和返回对象

当我调用weservice时,我必须将该类转换为webservice对象,否则我可以键入转换错误

是否有一种通用的方法可以在这些类型之间进行转换,而不必手动赋值

比如说

public class person
 fname as string
 lname as string
end class
web服务方法

public getperson() as person
return new person()
end sub
在客户机中

dim ws as new webservice

dim person = ws.getperson
我将能够调用web服务并返回数据类型,并使用通用转换,而不是如上所述,而不是:

dim wsPerson as wsReference.Person = ws.getperson()

谢谢

因为为web引用生成的代理类是公开类接口的副本,所以您应该能够使用反射来进行此类转换


但是,如果您的类不是很大或很多,我建议手动创建一个转换器,处理从web服务类类型到“内部”类类型的转换,反之亦然。如果类的数量很大,并且会定期添加新类,或者它们的设计发生变化,我会考虑制作某种代码生成器,为您创建转换器功能。

一些高级功能很难从vb.net使用,但是,这将为您很好地完成Person-to-Person类的基本翻译