为什么扩展方法需要是静态的?

Why do extension methods need to be static?

我不明白为什么它必须是静态的?能够为扩展方法创建对象有什么问题?

扩展方法是一种快捷方式,通过允许您将对扩展方法的调用添加到对扩展 class。 non-static 扩展方法还需要引用 extension class 的实例(因为 non-static 方法可能引用 instance-specific状态),这在语法中没有意义。

如果您希望能够在两个 classes 的实例上执行一个方法,您可以这样做,只是不是以您设想的方式。