Почему не поддерживаются методы расширения статических классов C #?

Я знаю из этого вопроса , что методы расширения могут работать только с экземплярами класса, а не с самим статическим классом. Это означает, что я не могу расширить полезные статические классы, такие как Convert и Math .

Я хочу знать, почему это так? По ссылке выше есть несколько предложений о том, как команда C # могла бы реализовать такую ​​функциональность. Есть ли какая-то философская причина, по которой он не поддерживается?

Например, вот обоснование того, почему нет встроенного расширения LINQ ForEach для ] IEnumerable .

56
задан Community 23 May 2017 в 12:34
поделиться