C# для VB.net - синтаксическая проблема с 2-мерным массивом
Подскажите пожалуйста, что не так с приведенным ниже кодом, я получаю 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 ответа
Решение
Вам нужно вызвать конструктор Dictionary с ключевым словом From:
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"}
}
})
Вам нужно создать словарь, как:
GlobalResponseHeaders = new Dictionary<string, string>()
{
{ "Access-Control-Allow-Origin", "*" },
{ "Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS" },
{ "Access-Control-Allow-Headers", "Content-Type" }
}