2010-04-07 64 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」之類的東西。

相關問題