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