2010-12-27 6 views
6

¿Hay alguna manera de saber qué parámetros necesita un evento en Visual Studio 2010?Encuentre los parámetros correctos para un evento sin usar el Modo de diseño en Visual Studio 2010

Digamos que tengo un control DropDownList y quiero enlazar un método para la "OnSelectedIndexChanged", me gustaría hacer algo como esto

en el archivo ASPX:

<asp:DropDownList ID="lstMyList" runat="server" OnSelectedIndexChanged="lstMyList_SelectedIndexChanged"></asp:DropDownList> 

En el código subyacente:

protected void lstMyList_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    ... 
} 

¿Hay alguna manera de saber qué parámetros necesita el método? (En este caso, un objeto para el remitente y un parámetro EventArgs para el evento.)

sé que puede crear fácilmente el método haciendo doble clic en el evento de la derecha en modo de diseño, pero tiene un lío con su código así que prefiero no usarlo.

Gracias!

Respuesta

6

Puede encontrar los parámetros "yendo a la definición" (F12) en el evento apropiado, descubriendo qué tipo de delegado usa, luego yendo a la definición sobre eso. En este caso el evento es de tipo SelectedIndexChangedEventHandler que se define de la siguiente manera:

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public delegate void EventHandler(
    Object sender, 
    EventArgs e 
) 

También puede encontrar esta información mediante la búsqueda en la web o pulsando F1 y buscar en la ayuda.


Sé que usted puede crear fácilmente el método haciendo doble clic en el evento justo en el modo de diseño, pero hace un lío con su código de modo que prefiero no usarlo.

Creo que deberías tratar de superar el miedo a usar el diseñador. Lo más probable es que pierda más tiempo perdiendo productividad al no usar las funciones de generación de código en Visual Studio que el tiempo potencial que podría haber ahorrado protegiéndose contra el diseñador que estropea su código.

+0

Para el código detrás, tal vez, pero todavía tengo problemas con el marcado HTML/ASP.NET. – Jason

+0

Sí, esta característica no se encuentra en el editor de marcas VS. –

+0

¿Debo ver la opción "Ir a la definición" cuando hago clic derecho en el evento en el editor de marcado? F12 tampoco funciona. – Jason

2

Poco económico en términos de pulsaciones de teclas y productividad, pero una posibilidad, si encuentra el evento en el código para 'Ir a la definición' de todos modos, e imaginando por un momento que no le importa usar las características del editor de código VS, también, debe presionar la tecla Tab, luego agregar + = antes de presionar la tecla Tab dos veces más. Esto generará la delegación adecuada y la definición del método, lo que hará que veas la firma del método.

Por ejemplo, escribiendo el siguiente, tabulación apropiadamente (dos veces después de escribir '+ ='):

MyType.MyEvent += new System.EventHandler(MyType_MyEvent); 

Genera un método como el siguiente:

void MyType_MyEvent(object sender, EventArgs e) 
{ 
    throw new NotImplementedException(); 
} 

Ahora, la reducción de la productividad podría ocurrir si realmente no requiere ambos pedazos de código.

Cuestiones relacionadas