¿Por qué los métodos de extensión deben ser estáticos? [duplicar]
No entiendo por qué tiene que ser estático. ¿Cuál es el problema de poder crear un objeto para un método de extensión?
Respuestas
Los métodos de extensión son un atajo para hacer que parezca que una clase tiene más métodos de los que realmente tiene al permitirle agregar una llamada al método de extensión a una referencia a una instancia de la clase extendida. Un método de extensión no estático también requeriría una referencia a una instancia de la clase de extensión (ya que un método no estático puede hacer referencia a un estado específico de la instancia), y eso no tendría sentido en la sintaxis.
Si desea poder realizar un método en instancias de dos clases, puede hacerlo, pero no de la manera que imagina.