C# Использование с эквивалентом в VB.NET

var baseAddress = new Uri("http://www.aaa.com");
    var cookieContainer = new CookieContainer();
    using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer })
    using (var client = new HttpClient(handler){ BaseAddress = baseAddress })
{}

Я пытался преобразовать этот код с помощью инструмента Developer Fusion в VB.NET, но безуспешно.

Dim baseAddress = New Uri("http://www.aaa.com")
Dim cookieContainer = New CookieContainer()
Using handler = New HttpClientHandler() With { _
    Key .CookieContainer = cookieContainer _
}
    Using client = New HttpClient(handler) With { _
        Key .BaseAddress = baseAddress _
    }
    End Using
End Using

произошла ошибка "ключ".

Что такое VB.NET-эквивалент этого кода (используя with заявление)?

2 ответа

Решение

Просто удалите Key слово

Using handler = New HttpClientHandler() With { _
    .CookieContainer = cookieContainer _
}
    Using client = New HttpClient(handler) With { _
        .BaseAddress = baseAddress _
    }
    End Using
End Using

Из ответа Киланни я узнал что-то новое ( инициализаторы объектов: именованные и анонимные типы); вот как я реорганизовал преобразованный код:

    Dim baseAddress = New Uri("http://www.aaa.com")
    Dim cookieContainer = New Net.CookieContainer()
    Using handler As New HttpClientHandler
        With handler
            .CookieContainer = cookieContainer
            Using client As New HttpClient(handler)
                With client
                    .BaseAddress = baseAddress
                End With
            End Using
        End With
    End Using
  1. Инициализаторы объектов: именованные и анонимные типы (Visual Basic)
  2. Использование оператора (Visual Basic)
  3. With... End With Statement (Visual Basic)
Другие вопросы по тегам