反射告訴我,排序列表使用ThrowHelper類,而不是拋出異常直接丟給他們,例如:爲什麼SortedList實現使用ThrowHelper而不是直接拋出?
public TValue this[TKey key]
{
get
{
int index = this.IndexOfKey(key);
if (index >= 0)
return this.values[index];
ThrowHelper.ThrowKeyNotFoundException();
return default(TValue);
}
其中ThrowKeyNotFoundException什麼都不做的不僅僅是:
throw new KeyNotFoundException();
注意如何,這需要一個duff語句「return default(TValue)」,這是無法訪問的。我必須得出這樣的結論:這種模式的好處足以證明這一點。
這些好處是什麼?
你看了看實際的微軟代碼,而不是它編譯到什麼? – 2009-02-18 19:31:01