這樣做有什麼意義嗎?拳擊,過去的事情?
public static void Write<T>(T value)
{
textWriter.Write(value.ToString());
}
...作爲應該這樣:
public static void Write(object value)
{
textWriter.Write(value.ToString());
}
撇開明顯的空取消引用可能性,如果我在哪裏可以使用這種方法寫了很多類型的值不會前者是多少更好,因爲它會有它自己的寫入方法的調用版本,或者它會讓很多額外的代碼生成的二進制文件膨脹?
這種事情的性能意義可能可以忽略不計,但我很好奇,它比BCL中的每個值類型都提供了過載,比BCL中的大多數作者已經做的要好得多。
所有的方法調用真的是虛擬的嗎?我懷疑只有界面方面才能使拳擊變得必要,現在@編輯3有點令人驚訝。我認爲這是相反的方式,儘管值類型有點不同,因爲你不能繼承,所以實際上不能在值類型和btw上使用虛方法,這是一個很好的答案! – 2010-08-17 16:40:19