4

可能重复:
为什么不能直接调用扩展方法?

让我们假设以下代码:

 public static class MyExtensions
{
    public static void SayHello(this Foo self)
    {}
}

public class Foo
{
    this.SayHello(); //this works
    SayHello(); //this does not compile
}

我只是对此背后的推理感兴趣,为什么不能在隐式上调用扩展方法this

this.SayHello()并且SayHello在应用于实例方法时意味着同样的事情。那么为什么在调用扩展方法时使用不同的行为呢?

4

0 回答 0