有没有理由不能直接在“this”上调用扩展方法?

时间:2012-11-07 10:15:21

标签: c# syntax extension-methods

  

可能重复:
  Why can you not invoke extension methods directly?

让我们假设以下代码:

 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在应用于实例方法时的含义相同。 那么为什么在调用扩展方法时会使用不同的行为呢?

0 个答案:

没有答案