driis
driis

Reputation: 164291

ReSharper: Can I make my own context action?

ReSharper has a "Check parameter for null" context action, that will automatically insert code to check an argument for null and throw ArgumentNullException if it is null.

If the parameter is a string, I would like another option: "Check string for Null or empty". This should generate code something similar to this:

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

Is there any way to add this to ReSharper easily ?

Upvotes: 9

Views: 1865

Answers (1)

Christian Klauser
Christian Klauser

Reputation: 4466

I've created ReSharper live templates for check for null and check for empty string.

So pnn + Enter inserts a parameter not null check etc.

The code for pnn looks like this

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

Where $ARG$ is "Suggest parameter of type System.Object" and $ARGNULLEXC$ is "insert reference to System.ArgumentNullException". The $END$ indicates where your cursor should be after inserting the live template.

For the string variant, you would assign $ARG$ something like "Suggest parameter of type System.String".

Upvotes: 5

Related Questions