我正在尝试将一段C#代码转换为VB.NET,以使我的应用程序正常工作,但出现错误。最初为C#的代码是:
private void loginBrowserControl_Navigating(object sender, NavigatingEventArgs e)
{
if (e.Uri.ToString().StartsWith(AppSettings.CallbackUri))
{
var AuthorizeResult = MainUtil.GetQueryParameters(e.Uri.ToString());
var VerifyPin = AuthorizeResult["oauth_verifier"];
this.loginBrowserControl.Visibility = Visibility.Collapsed;
var AccessTokenQuery = OAuthUtil.GetAccessTokenQuery(OAuthTokenKey, tokenSecret, VerifyPin);
AccessTokenQuery.QueryResponse += new EventHandler<WebQueryResponseEventArgs>(AccessTokenQuery_QueryResponse);
AccessTokenQuery.RequestAsync(AppSettings.AccessTokenUri, null);
}
}
我现在将其转换为VB.NET,所以我有:
Private Sub loginBrowserControl_Navigating(sender As Object, e As NavigatingEventArgs)
If e.Uri.ToString().StartsWith(AppSettings.AppSettings.CallbackUri) Then
Dim AuthorizeResult = MainUtil.MainUtil.GetQueryParameters(e.Uri.ToString())
Dim VerifyPin = AuthorizeResult("oauth_verifier")
Me.LoginBrowserControl.Visibility = Visibility.Collapsed
Dim AccessTokenQuery = OAuthUtil.GetAccessTokenQuery(OAuthTokenKey, tokenSecret, VerifyPin)
AccessTokenQuery.QueryResponse += New EventHandler(Of WebQueryResponseEventArgs)(AddressOf AccessTokenQuery_QueryResponse)
AccessTokenQuery.RequestAsync(AppSettings.AppSettings.AccessTokenUri, Nothing)
End If
End Sub
但是,它不喜欢AccessTokenQuery.QueryResponse,因为它给出错误“公共事件QueryResponse(作为对象发送,作为Hammock.Web.WebQueryResponseEventArgs)”是一个事件,不能直接调用。使用“ RaiseEvent”语句引发事件。
我需要将其更改为什么?'
在VB.net中添加事件处理程序的正确语法为:
AddHandler AccessTokenQuery.QueryResponse, AddressOf AccessTokenQuery_QueryResponse
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句