没有身体的C#方法

时间:2017-04-14 10:13:46

标签: c# methods

我是C#的新手,并且在我正在处理的代码库中遇到过类似这样的内容(这些具体示例来自Microsoft.Extensions.CommandLineUtils)。

public CommandArgument Argument(string name, string description, Action<CommandArgument> configuration, bool multipleValues = false);
public CommandArgument Argument(string name, string description, bool multipleValues = false);

我真的只是想知道这个结构被调用了什么以及当你调用这些函数时实际发生了什么?我猜测他们是代理人,有一些编译时间魔术,但不确定。

2 个答案:

答案 0 :(得分:7)

它不是有效的C#代码。

很可能你点击了#34;转到定义&#34;在VS.Net中的/ F12,您会看到外部DLL的元数据。

答案 1 :(得分:0)

我怀疑您正在查看的是Visual Studio生成的代码,它是根据元数据创建的(您将看到&#34;从元数据生成的代码&#34;在标签的标题中) 。这段代码实际上并没有编译 - 它只是为了向您展示方法签名的样子。

the actual code可以看出,这些方法确实有实体。