If I define an extension method such as this:
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);
}
我需要检查字符串实例是否为null并自己抛出null引用异常吗?还是CLR在这种情况下像处理实例方法一样处理扩展方法,并且为我处理检查/抛出?
我知道扩展方法只是静态方法的语法糖,也许C#编译器会在编译时添加检查?请澄清一下 :)