Перевести фрагмент кода из C # в VB - PullRequest
0 голосов
/ 29 сентября 2011

Мне нужно перевести строку 4 во фрагменте кода ниже в VB.По какой-то причине я не могу сделать это сегодня вечером.Я или слишком устал, или у меня утечка мозгов ... Вы можете помочь?

var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description);
provider.ClientIdentifier = ClientCredentials.ClientID;
provider.ClientSecret = ClientCredentials.ClientSecret;
var auth = new OAuth2Authenticator<NativeApplicationClient>(provider, GetAuthentication);

Инструменты перевода позволили мне зайти так далеко, но это неправильно.

Dim provider As NativeApplicationClient = New NativeApplicationClient(GoogleAuthenticationServer.Description)
provider.ClientIdentifier = ClientCredentials.ClientID
provider.ClientSecret = ClientCredentials.ClientSecret
Dim auth As OAuth2Authenticator(Of NativeApplicationClient) = New OAuth2Authenticator(Of NativeApplicationClient)(provider, GetAuthorization)

GetAuthorizationМетод имеет следующую подпись.

Private Function GetAuthorization(ByVal arg As NativeApplicationClient) As IAuthorizationState

Ответы [ 4 ]

3 голосов
/ 29 сентября 2011

Вам нужно AddressOf

Dim auth As OAuth2Authenticator(Of NativeApplicationClient) = New OAuth2Authenticator(Of NativeApplicationClient)(provider, AddressOf GetAuthorization)
1 голос
/ 29 сентября 2011

Обратитесь к этому Веб-сайту для перевода любого кода из C # в VB, и код после преобразования равен

Dim provider = New NativeApplicationClient(GoogleAuthenticationServer.Description)
provider.ClientIdentifier = ClientCredentials.ClientID
provider.ClientSecret = ClientCredentials.ClientSecret
Dim auth = New OAuth2Authenticator(Of NativeApplicationClient)(provider, GetAuthentication)
0 голосов
/ 17 февраля 2012

AddressOf никогда не вызывает функцию, вам нужно использовать

Dim getAuth As Func(Of NativeApplicationClient, IAuthorizationState) = AddressOf GetAuthorization
Dim auth As New OAuth2Authenticator(Of NativeApplicationClient)(provider, getAuth)
0 голосов
/ 29 сентября 2011

Вы пытаетесь использовать OAuth2Authenticator для GetAuthorization, и они разные, возможно, это ваша проблема.

...