I have a VB code as follows:
This works flawlessly in VB, but when I translate to C Sharp:
in "Events(RowClic kedEventKey)", it complains "Events does not exist in current context. What should I write the raise event part in C Sharp?
Thanks.
Code:
Private Shared ReadOnly RowClickedEventKey As Object = New Object 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 ev IsNot Nothing Then ev(sender, e) End If End RaiseEvent End Event Protected Overridable Sub OnRowClicked(ByVal e As GridViewRowClickedEventArgs) RaiseEvent RowClicked(Me, e) End Sub
Code:
public event EventHandler<GridViewRowClickedEventArgs> RowClicked { add { Events.AddHandler(RowClickedEventKey, value); } remove { Events.RemoveHandler(RowClickedEventKey, value); } } protected virtual void OnRowClicked(GridViewRowClickedEventArgs e, Object sender) { EventHandler<GridViewRowClickedEventArgs> ev = Events(RowClickedEventKey) as EventHandler<GridViewRowClickedEventArgs>; if (ev != null) { ev(sender, e); } }
Thanks.
Comment