【问题标题】:Proper syntax for parameters in VB function callVB 函数调用中参数的正确语法
【发布时间】: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 显示了如何实例化服务类的实例。

标签: c# asp.net vb.net function amazon-pay


【解决方案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 setweb.configapp.config 是必要的),这是OffAmazonPaymentsServicePropertyCollection.getInstance() 将获取值的地方

  • 由于参考 id 和令牌的虚拟值,上述示例代码将失败(如预期的那样),但“错误”来自 Amazon API(已经) - 例如响应错误“invalid reference id”或“invalid token”等......

第……

【讨论】:

    猜你喜欢
    • 2021-11-29
    • 1970-01-01
    • 2017-09-23
    • 2014-09-13
    • 2020-12-13
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多