2012-03-19 8 views
0

ウェブ上でC#に見つかったvb.netコードの変換に問題があります。 #VB.NetをC#に変換しようとしています

protected virtual void OnRowClicked(GridViewRowClickedEventArgs e) 
    { 
     //raise the RowClicked event 
     if (RowClicked != null) 
     { 
      RowClicked(this, e); 
     } 
    } 

    //setup our EventHandler for RowClicked 
    public event EventHandler<GridViewRowClickedEventArgs> RowClicked 
    { 
     add { Events.AddHandler(RowClickedEventKey, value); } 

     remove { Events.RemoveHandler(RowClickedEventKey, value); } 

    } 

C

vb.net

Protected Overridable Sub OnRowClicked(ByVal e As GridViewRowClickedEventArgs) 
    'raise the RowClicked event 
    RaiseEvent RowClicked(Me, e) 
End Sub 

'setup our EventHandler for RowClicked 
Public Custom Event RowClicked As EventHandler(Of GridViewRowClickedEventArgs) 
    AddHandler(ByVal value As EventHandler(Of GridViewRowClickedEventArgs)) 
     Events.AddHandler(RowClickedEventKey, value) 
    End AddHandler 

    RemoveHandler(ByVal value As EventHandler(Of GridViewRowClickedEventArgs)) 
     Events.RemoveHandler(RowClickedEventKey, value) 
    End RemoveHandler 

    RaiseEvent(ByVal sender As Object, ByVal e As GridViewRowClickedEventArgs) 
     Dim ev As EventHandler(Of GridViewRowClickedEventArgs) = TryCast(Events(RowClickedEventKey), EventHandler(Of GridViewRowClickedEventArgs)) 
     If Not IsNothing(ev) Then 
      ev(sender, e) 
     End If 
    End RaiseEvent 
End Event 

Iは、ウェブ上のコード変換を使用します。問題は、ライン上

//raise the RowClicked event 
    if (RowClicked != null) 
    { 
     RowClicked(this, e); 
    } 

である私が取得していますエラーは次のとおりです。イベントは、「RowClickGridView.RowClicked」のみ+の左側に表示される=またはすることができます - 任意のアイデア=

答えて

0

だけ追加/削除を削除 - パーツ:

public event EventHandler<GridViewRowClickedEventArgs> RowClicked; 
+0

次しませんか?しかし、私はそのイベントハンドラが必要です。 – MindGame

0

私はここに特別なanthingを参照してくださいいけません。 IDは標準的なイベント構造を使い、このカスタムのものを忘れてしまいます。

+0

どうすればいいですか? – MindGame

+0

C#の標準的なイベントハンドラのワイヤーアップ構文は 'Object.Event + = EventHandlerFunction;' –

+0

です。http://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx –

0
protected virtual void OnRowClicked(GridViewRowClickedEventArgs e) 
{ 
    EventHandler<GridViewRowClickedEventArgs> temp = RowClicked ; 
    //raise the RowClicked event 
    if (temp != null) 
    { 
     temp(this, e); 
    } 
} 


public event EventHandler<GridViewRowClickedEventArgs> RowClicked; 

CF http://msdn.microsoft.com/en-us/library/db0etb8x.aspx

+0

ちょうどこれを試して、私はこの行で同じエラーメッセージを取得 "EventHandler temp = RowClicked;" – MindGame

+0

私は信じられません...私が記述したようにイベントを宣言し、追加と削除の行を削除しましたか? – Hogan

+0

GridViewコントロールをasp.netで拡張しています。パブリックイベントEventHandler RowClicked;を追加しました。既に宣言されています。Hmm – MindGame

関連する問題