VB 函数调用中参数的正确语法
Posted
技术标签:
【中文标题】VB 函数调用中参数的正确语法【英文标题】:Proper syntax for parameters in VB function call 【发布时间】:2015-11-30 04:10:06 【问题描述】:我过去在 VB.net 中开发过,但我根本不知道如何正确调用此函数以及如何获取响应,以便将其显示在网页响应中。
我将示例 c# 代码翻译成 VB。这是我希望用来发出请求然后在我的页面中显示响应的 aspx 页面背后的代码:
Imports OffAmazonPaymentsService
Imports OffAmazonPaymentsService.Model
Public Class WebForm1
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Write(GetOrderReferenceDetails(???service???, "asdfsadf", "asdfsadf", "asdfasdf"))
End Sub
Private Shared Function GetOrderReferenceDetails(service As IOffAmazonPaymentsService, sellerId As String, amazonOrderReferenceId As String, addressConsentToken As String) As GetOrderReferenceDetailsResponse
' Required parameters
Dim request As New GetOrderReferenceDetailsRequest()
request.SellerId = sellerId
request.AmazonOrderReferenceId = amazonOrderReferenceId
' Optional parameters
request.AddressConsentToken = addressConsentToken
Return service.GetOrderReferenceDetails(request)
End Function
End Class
我不知道如何调用该函数的第一个(服务)参数,然后显示响应的内容。
如果我的问题不够清楚,请告诉我。 这是他们以升c格式给出的示例....
using OffAmazonPaymentsService;
using OffAmazonPaymentsService.Model;
public class GetOrderReferenceDetailsSample
/**
* Sample GetOrderReferenceDetails method that takes generic inputs, constructs a request object,
* and make a call to the service.
*/
private static GetOrderReferenceDetailsResponse GetOrderReferenceDetails(
IOffAmazonPaymentsService service,
string sellerId,
string amazonOrderReferenceId,
string addressConsentToken)
// Required parameters
GetOrderReferenceDetailsRequest request = new GetOrderReferenceDetailsRequest();
request.SellerId = sellerId;
request.AmazonOrderReferenceId = amazonOrderReferenceId;
// Optional parameters
request.AddressConsentToken = addressConsentToken;
return service.GetOrderReferenceDetails(request);
【问题讨论】:
你需要传递一个实现IOffAmazonPaymentsService
的类型的对象;你的项目中包含这样的类吗?
@TiesonT。 -谢谢.. 是的,我在我的项目中添加了 OffAmazonPaymentsService DLL 作为参考,并且这些参考正在被识别。我认为您对对象调用的看法是正确的。我只是想不出正确的格式或语法来正确地进行调用。
要明确..这是???服务???部分我不知道如何格式化或使用...我知道如何传递函数的其他参数..我以前在 vb.net 中使用/构建过功能..但服务参数让我感到困惑。跨度>
服务不太可能是静态/共享的,因此您需要新建一个实例,然后将其传入。您使用的是 AWS 开发工具包吗?
假设您使用的是 AWS 开发工具包,sample console app 显示了如何实例化服务类的实例。
【参考方案1】:
免责声明:我的 VB 已“生锈”,因此请根据需要进行调试和改进
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Dim props As OffAmazonPaymentsServicePropertyCollection = OffAmazonPaymentsServicePropertyCollection.getInstance()
Dim client As New OffAmazonPaymentsServiceClient(props)
Dim result as GetOrderReferenceDetailsResponse = GetAmzOrderRef(client, props, "oref", "token")
End Sub
Private Shared Function GetAmzOrderRef(service As IOffAmazonPaymentsService, props As OffAmazonPaymentsServicePropertyCollection, amazonOrderReferenceId As String, addressConsentToken As String) As GetOrderReferenceDetailsResponse
Dim request as New GetOrderReferenceDetailsRequest()
With request
.SellerId = props.MerchantID
.AmazonOrderReferenceId = amazonOrderReferenceId
.AddressConsentToken = addressConsentToken
End With
Return service.GetOrderReferenceDetails(request)
End Function
注意事项:
你应该有你的config
values set(web.config
或app.config
是必要的),这是OffAmazonPaymentsServicePropertyCollection.getInstance()
将获取值的地方
由于参考 id 和令牌的虚拟值,上述示例代码将失败(如预期的那样),但“错误”来自 Amazon API(已经) - 例如响应错误“invalid reference id”或“invalid token”等......
第……
【讨论】:
以上是关于VB 函数调用中参数的正确语法的主要内容,如果未能解决你的问题,请参考以下文章