【问题标题】:type conversion from webservice object to class object从 web 服务对象到类对象的类型转换
【发布时间】:2009-06-15 20:29:37
【问题描述】:

我创建了一堆类。我有引用这些类并包含这些类作为参数和返回对象的 Web 服务。

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

是否有一种通用的方法可以在这些类型之间进行转换而无需手动分配值?

例如

public class person
 fname as string
 lname as string
end class

网络服务方法

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()

谢谢

【问题讨论】:

    标签: vb.net service types


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      vb.net 中的一些高级功能很难使用,但 AutoMapper 会很好地为您完成从 Person 到 Person 类的基本转换。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        • 2012-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-13
        相关资源
        最近更新 更多