在VB.NET中,我试图与Web服务(无法更改)进行对话,以创建和更新客户数据。 CreateCustomer服务需要一个ConsumerPerson类型的对象,而ChangeCustomer服务需要一个ChangeData类型的对象。
这两个对象的属性完全相同,所以我认为只使用一个函数设置属性是明智的。
但是,我无法找到告诉我的函数我想要填充ConsumerPerson或ChangeCustomer对象的方法。
如何在没有后期绑定问题的情况下完成这项工作?
答案 0 :(得分:1)
使用界面!
声明一个接口IFoo,并在子类ConsumerPerson和ChangeCustomer中实现其成员。这正是接口的用途。
答案 1 :(得分:1)
您创建了两个类都实现的接口。
答案 2 :(得分:1)
界面听起来像是你最好的方法。这是一个简短的代码片段。我选择了一个名为“Name”的字符串类型的简单属性。应该很容易使用类中的实际属性进行修改。
Public Interface ICustomerData
ReadOnly Property Name As String
End Interface
Public Class ConsumerPerson
Implements ICustomerData
Public ReadOnly Property Name As String Implements ICustomerData.Name
Get
return _name
End Get
End Property
End Class
Public Class ChangeData
Implements ICustomerData
Public ReadOnly Property Name As String Implements ICustomerData.Name
Get
return _name
End Get
End Property
End Class
答案 3 :(得分:0)
是否无法使用第二种数据类型重载您的函数?
答案 4 :(得分:0)
如果您无法更改对象,但它们共享相同的字段名称,则可以xml序列化数据并反序列化为另一个类。 - 你应该强烈考虑这个的性能影响;但是,它会为您提供所需的功能。