Как я могу добиться этого, чтобы моя реализация ToString () вызывалась, когда я вызываю .ToString () для List, например?
Вы не можете, в принципе.Методы расширения только используются, если не найден соответствующий метод экземпляра.
Я предлагаю вам дать другому методу имя, избегая проблемы - и потенциальная путаница, которую ваш метод может вызватьпричина .
Обратите внимание, что даже если бы методы расширения были сопоставлены в предпочтении (скажем) методам, объявленным в object
, это только изменит ваш компилируемый кодс соответствующей директивой using
, а не с любым другим кодом, который уже связал вызов с обычным.
Если вы можете дать больше информации о том, чего вы пытаетесь достичь, мы можем помочьВы больше - но на данный момент что-то вроде ToDelimitedString
(или что-то еще делает ваш метод) звучит как лучший выбор для меня.