关于C#和函数原型的问题



我在看TextReader类,但我只看到了方法原型,在任何地方都看不到定义。我对事物在引擎盖下的工作方式很感兴趣,我试图寻找public void Dispose();的定义,但试图在VS2019中窥探或进入定义只会让我回到这里。它们存放在哪里?

这样的原型是怎么可能的?我试过这样做,但它不允许我这样做。这种特殊的方法不是虚拟的。

我猜"方法原型"指的是方法的,即:

public virtual Task<String> ReadLineAsync()

方法的正文(或者用你的话说,"definition"(在VisualStudio中没有显示。你能找到它们的一个地方是https://referencesource.microsoft.com/.例如,这里是TextReader的来源。

注意,TextReader是一个抽象类。抽象类中的一些方法可以通过设计没有body(尽管TextReader不是这样(。对于一个接口,所有方法都没有实体*。如果你想看到那些抽象方法的实现,你需要去一个具体的实现。对于TextReader,这可能是StreamReader

你可以通过创建一个接口来创建这些所谓的"原型"(尽管它与你在TextReader中看到的不同(:

interface IFoo {
int Method1(string param);
string Method2(string p1, string p2);
...
}

最新更新