0

我需要将下面代码片段中的第 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

4 回答 4

3

你需要AddressOf

Dim auth As OAuth2Authenticator(Of NativeApplicationClient) = New OAuth2Authenticator(Of NativeApplicationClient)(provider, AddressOf GetAuthorization)
于 2011-09-29T06:10:28.243 回答
1

任何代码从C#到VB的翻译参考这个网站,转换后的代码是

Dim provider = New NativeApplicationClient(GoogleAuthenticationServer.Description)
provider.ClientIdentifier = ClientCredentials.ClientID
provider.ClientSecret = ClientCredentials.ClientSecret
Dim auth = New OAuth2Authenticator(Of NativeApplicationClient)(provider, GetAuthentication)
于 2011-09-29T06:07:00.443 回答
0

您正在尝试使用 OAuth2Authenticator 来 GetAuthorization 并且两者不同,也许这是您的问题。

于 2011-09-29T06:09:07.240 回答
0

AddressOf 永远不会调用该函数,您需要使用

Dim getAuth As Func(Of NativeApplicationClient, IAuthorizationState) = AddressOf GetAuthorization
Dim auth As New OAuth2Authenticator(Of NativeApplicationClient)(provider, getAuth)
于 2012-02-17T06:58:32.473 回答