Пара очков:
Во-первых, предлагаемая функция (неявное "this." При вызове метода расширения) не нужна . Методы расширения были необходимы для того, чтобы понимание запросов LINQ работало так, как мы хотели; получатель всегда указывается в запросе, поэтому нет необходимости поддерживать неявную поддержку this, чтобы LINQ работал.
Во-вторых, эта функция работает против более общего дизайна методов расширения: а именно, эти методы расширения позволяют вам расширять тип, который вы не можете расширить самостоятельно , либо потому, что это интерфейс, и вы не знаете его реализацию, либо потому, что вы это делаете. знаете реализацию, но не имеете исходного кода.
Если вы находитесь в сценарии , где вы используете метод расширения для типа внутри этого типа , то вы действительно имеете доступ к исходному коду. Тогда почему вы вообще используете метод расширения? Вы можете написать метод экземпляра самостоятельно, если у вас есть доступ к исходному коду расширенного типа, и тогда вам вообще не нужно использовать метод расширения! Затем ваша реализация может воспользоваться преимуществами доступа к частному состоянию объекта, чего не могут добиться методы расширения.
Упрощение использования методов расширения внутри типа, к которому у вас есть доступ, поощряет использование методов расширения вместо методов экземпляра. Методы расширения - это здорово, но обычно лучше использовать метод экземпляра, если он у вас есть.
С учетом этих двух моментов на разработчика языка больше не ложится бремя объяснения, почему эта функция не существует. Теперь вам нужно объяснить, почему это должно происходить . С функциями связаны огромные затраты. Эта функция не является необходимой и работает против заявленных целей разработки методов расширения; почему мы должны брать на себя расходы по его внедрению? Объясните, какой привлекательный и важный сценарий позволяет использовать эту функцию, и мы рассмотрим возможность ее реализации в будущем. Я не вижу убедительного и важного сценария, который бы это оправдал, но, возможно, есть один, который я пропустил.