Если вы пытаетесь вызвать State.Foo()
, он пытается вызвать статический метод для Foo
.Методы расширения расширяют экземпляров типа.Они похожи на добавление методов экземпляра к этому типу, но без возможности добавления какого-либо состояния.
Чтобы привести пример того, почему это не сработает, что вы ожидаете от этого кода?
int count = IEnumerable<string>.Count();
Нельзя подделать добавление статических методов к типу.Это просто не то, что поддерживают методы расширения.