如果我定義的擴展方法,如這樣的:是否需要從擴展方法拋出NullReferenceException?
static public String ToTitleCase(this string instance, CultureInfo culture)
{
if (instance == null)
throw new NullReferenceException();
if (culture == null)
throw new ArgumentNullException("culture");
return culture.TextInfo.ToTitleCase(instance);
}
是否有必要爲我檢查字符串實例空,拋出一個空引用異常自己?或者CLR在這種情況下處理擴展方法(如實例方法)併爲我處理檢查/拋出?
我知道擴展方法只是靜態方法的語法糖,也許C#編譯器在編譯時加入了檢查?請說明:)
重複的問題提供了一些有利於ANE和NRE以及其他細節的很好的理由。 – 2011-01-25 10:44:54