IL-генерируемый компилятором переводит ваш код в вызов статического метода, даже если синтаксис может выглядеть как вызов метода экземпляра. Но это не так - это статика, которая не имеет доступа к закрытым членам вашего объекта.
лько вопросов о методах расширения:
Почему методы расширения статичны?
Почему они должны быть объявлены в s, tatic классе?
Что указывает это ключевое слово в списке параметров метода расширения? Как это статический класс, как работает ключевое слово "this" в этом контексте?
Как происходит распределение памяти для таких методов?