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