我想覆蓋IEnumerable<Int32>
上的ToString()
。如何覆蓋所有IEnumerable <Int32>的ToString()方法?
我在想使用擴展方法。
但是,當我這樣做下面,它仍然調用ToString()
在System.Object
。當我重命名我的方法時,它會調用我的方法。
由於我的擴展方法是在靜態類中,我無法重寫。
例如,如何在List<Int32>
上調用.ToString()
時調用我的ToString()
實現?
public static class ExtensionMethods
{
public static new string ToString(this IEnumerable<Int32> set)
{
var sb = new StringBuilder();
// Do some modifications on sb
return sb.ToString();
}
}
這個問題是有些不清楚。你想爲'IEnumerable'還是'T'(在這種情況下是'Int32')覆蓋'ToString'?請注意,您無法重寫,但每種情況下都可能適用不同的解決方案。 –
2012-03-14 07:08:18
我想覆蓋「IEnumerable < Int32 >」上的ToString()。 (出於某種原因,原始文本中刪除了) –
pencilCake
2012-03-14 07:10:34
使用反引號添加內聯代碼示例,我編輯了您的問題,只需點擊編輯按鈕即可查看我做了什麼。 – 2012-03-14 07:11:52