2010-04-07 19 views
9

ReSharper tiene una acción de contexto "Comprobar parámetro para nulo", que insertará código automáticamente para verificar un argumento para nulo y arrojar ArgumentNullException si es nulo.ReSharper: ¿Puedo hacer mi propia acción de contexto?

Si el parámetro es una cadena, me gustaría otra opción: "Comprobar cadena para nulo o vacío". Esto debería generar código algo similar a esto:

if (String.IsNullOrEmpty(result)) 
    throw new ArgumentException("Parameter cannot be null or empty", "result"); 

¿Hay alguna forma de añadir esto a ReSharper fácilmente?

+0

Resharper 5.0 (actualmente en estado RC) tiene una nueva característica llamada "Catálogo de patrones" que podría ayudar con esto. Desafortunadamente, tendrá que pagar para actualizar a él. – Greg

+0

@Greg compras suficientemente recientes de 4.5 califican para una actualización gratuita a 5.0 (no me pagan para decir esto :)) – AakashM

+0

@ AkkashM: ¡Gracias por la aclaración! – Greg

Respuesta

4

This article debería darle un buen comienzo.

+0

No se encuentra la página ahora. – CRice

+1

Actualmente ese enlace redirige aquí: http://hadihariri.com/2010/01/12/writing-plug-ins-for-resharper-part-1-of-undefined/ – mjcopple

4

He creado las plantillas en vivo ReSharper para cheque por nula y cheque por cadena vacía.

Así pnn + Introduzca inserta un parámetro no cheque nulo etc.

El código para pnn se parece a esto

if($ARG$ == null) 
    throw new $ARGNULLEXC$("$ARG$");$END$ 

Dónde $ARG$ es "Sugerir parámetro de tipo System.Object" y $ARGNULLEXC$ es "insertar referencia a System.ArgumentNullException". El $END$ indica dónde debe estar el cursor después de insertar la plantilla en vivo.

Para la variante de cadena, debería asignar $ARG$ algo así como "Sugerir parámetro de tipo System.String".

Cuestiones relacionadas