我如何将两种相似类型视为一种?

时间:2009-02-28 15:58:26

标签: vb.net properties types

在VB.NET中,我试图与Web服务(无法更改)进行对话,以创建和更新客户数据。 CreateCustomer服务需要一个ConsumerPerson类型的对象,而ChangeCustomer服务需要一个ChangeData类型的对象。

这两个对象的属性完全相同,所以我认为只使用一个函数设置属性是明智的。

但是,我无法找到告诉我的函数我想要填充ConsumerPerson或ChangeCustomer对象的方法。

如何在没有后期绑定问题的情况下完成这项工作?

5 个答案:

答案 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序列化数据并反序列化为另一个类。 - 你应该强烈考虑这个的性能影响;但是,它会为您提供所需的功能。

相关问题