C#到VB.net - 2个dimmension数组的语法问题

时间:2013-07-24 14:32:22

标签: .net servicestack c#-to-vb.net

请告诉我以下代码有什么问题,我得到Value of type '2-dimensional array of String' cannot be converted to 'System.Collections.Generic.Dictionary(Of String, String)'

VB.net代码:

MyBase.SetConfig(New EndpointHostConfig() With {
              .GlobalResponseHeaders = {
             {"Access-Control-Allow-Origin", "*"},
             {"Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"},
             {"Access-Control-Allow-Headers", "Content-Type"}
              }
            })

这是我用作起点的C#代码:

base.SetConfig(new EndpointHostConfig
    {
        GlobalResponseHeaders = {
            { "Access-Control-Allow-Origin", "*" },
            { "Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS" },
            { "Access-Control-Allow-Headers", "Content-Type" },
        },
    });

任何建议非常感谢

<小时/> 以下工作正常:

Dim CorsHeaders As New Dictionary(Of String, String)
            CorsHeaders.Add("Access-Control-Allow-Origin", "*")
            CorsHeaders.Add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS")
            CorsHeaders.Add("Access-Control-Allow-Headers", "Content-Type")

            MyBase.SetConfig(New EndpointHostConfig() With {
               .GlobalResponseHeaders = CorsHeaders
            })

2 个答案:

答案 0 :(得分:1)

您需要创建一个字典,如:

GlobalResponseHeaders = new Dictionary<string, string>() 
          {
            { "Access-Control-Allow-Origin", "*" },
            { "Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS" },
            { "Access-Control-Allow-Headers", "Content-Type" }
          }

请参阅:How to: Initialize a Dictionary with a Collection Initializer (C# Programming Guide)

答案 1 :(得分:1)

您需要使用From关键字调用Dictionary构造函数:

MyBase.SetConfig(New EndpointHostConfig() With {
   .GlobalResponseHeaders = New Dictionary(Of String, String) From {
      {"Access-Control-Allow-Origin", "*"},
      {"Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"},
      {"Access-Control-Allow-Headers", "Content-Type"}
   }
})

请参阅Collection Initializers (Visual Basic)