2010-04-07 48 views
9

ReSharper具有“检查null参数”上下文动作,该参数将自动插入代码来检查参数为null,并且抛出ArgumentNullException(如果为null)。ReSharper:我可以制作自己的上下文动作吗?

如果参数是一个字符串,我想另一个选项:“检查字符串为空或空”。这应该产生类似下面的代码的东西:

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

有什么办法来此方便地添加到ReSharper的?

+0

Resharper 5.0(目前处于RC状态)有一个称为“模式目录”的新功能,可以帮助解决这个问题。不幸的是,你必须付费才能升级到它。 – Greg 2010-04-07 16:02:08

+0

@Greg足够 - 近期购买的4.5有资格免费升级到5.0(他们不支付我这样说:)) – AakashM 2010-04-07 16:48:26

+0

@AkkashM:感谢您的澄清! – Greg 2010-04-07 18:19:15

回答

4

This article应该给你一个好的开始。

+0

现在找不到页面。 – CRice 2010-12-13 04:51:50

+1

目前该链接重定向到这里:http://hadihariri.com/2010/01/12/writing-plug-ins-for-res- harper-part-1-of-undefined/ – mjcopple 2011-02-01 15:17:25

4

我创建ReSharper的现场模板检查空检查为空字符串

所以pnn + 输入插入一个参数不为null检查等

pnn的代码看起来像这样

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

哪里$ARG$为 “推荐System.Object类型的参数” 和$ARGNULLEXC$是“插入对System.ArgumentNullException的引用”。 $END$表示插入实时模板后光标的位置。

对于字符串变体,您可以将$ARG$分配为“Suggest parameter of type System.String”之类的东西。

相关问题