有没有一种方法可以通过函数调用传递对象类型?

时间:2020-03-12 03:54:03

标签: vb.net

我有一个Web服务,可以XML或JSON格式将数据返回给用户。问题是响应类型因用户调用的端点而异。

Dim Response As ATT_ADDR_VAL_RESP = aTTADDVALSoapHttpBinding.submitAddVal(ATT_ADDR)
Dim tmpobj = New ServiceResponse()
obj = tmpobj.serviceResponse(Response, oType)
Return obj

在这种情况下,类型为 ATT_ADDR_VAL_RESP ,但对于另一个终点,类型可以为 ATT_CLLI_RESP 目前,我的函数中已对该类型进行了硬编码

Public Function serviceResponse(ByVal response As ATT_ADDR_VAL_RESP, ByVal type As String)

我正在寻找的是使此函数更具动态性并传递类型。如果不可能,那么仅将类型设为通用对象就不会有缺点吗?

1 个答案:

答案 0 :(得分:0)

为什么您要提供其他退货类型?让您的服务客户端进行处理并发送一致的对象类型-调用服务的客户端外部没有任何内容应该关心服务返回的内容,无论是XML还是JSON。如果GetUser返回XML而GetAddress返回JSON,则具有一个函数反序列化响应XML后,它将调用GetUser并返回一个User。拥有一个GetAddress函数,该函数在获取地址JSON并将其反序列化为地址后返回一个地址

socketio.sleep(0)