为什么扩展方法需要是静态的?
Why do extension methods need to be static?
我不明白为什么它必须是静态的?能够为扩展方法创建对象有什么问题?
扩展方法是一种快捷方式,通过允许您将对扩展方法的调用添加到对扩展 class。 non-static 扩展方法还需要引用 extension class 的实例(因为 non-static 方法可能引用 instance-specific状态),这在语法中没有意义。
如果您希望能够在两个 classes 的实例上执行一个方法,您可以这样做,只是不是以您设想的方式。
我不明白为什么它必须是静态的?能够为扩展方法创建对象有什么问题?
扩展方法是一种快捷方式,通过允许您将对扩展方法的调用添加到对扩展 class。 non-static 扩展方法还需要引用 extension class 的实例(因为 non-static 方法可能引用 instance-specific状态),这在语法中没有意义。
如果您希望能够在两个 classes 的实例上执行一个方法,您可以这样做,只是不是以您设想的方式。