ToString()
をIEnumerable<Int32>
に上書きします。すべてのIEnumerableのToString()メソッドをオーバーライドするには<Int32>?
私は拡張メソッドを使用することを考えていました。
しかし、私がこれを行うときには、それでもSystem.Object
のToString()
が呼び出されます。メソッドの名前を変更すると、メソッドが呼び出されます。
私の拡張メソッドは静的クラスであるため、オーバーライドできません。
たとえば.ToString()
をList<Int32>
にコールすると、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();
}
}
この質問はやや不明瞭です。 'ToString'を' IEnumerable 'または' T'(この場合は 'Int32')に置き換えますか?オーバーライドすることはできませんが、それぞれ異なる解決策が適用される場合があります。 –
"IEnumerable < Int32 >"でToString()をオーバーライドします。 (何らかの理由でスタックオーバーフローが発生して元のテキストにが削除されました) –
pencilCake
バックライン記号を使用してインラインコード例を追加しました。私はあなたの質問を編集しました。 –