-2

考虑以下代码:

int i = 0;        
private void AddValue()
{
    i++;
}

当我调用 AddValue 方法时,它有一些在 i 中加 1 的方法体。现在考虑一下:

 ArrayList ar = new ArrayList();

当我调用 ar.Add(1) 时,它会在 ar 中添加对象 1。当我右键单击添加并按转到定义时,我看到了

public virtual int Add(object value);

没有这样的方法体在 ar 中添加 1 作为对象,即 ArrayList。我的问题是 ArrayList.Add() 的方法体到底在哪里。当它似乎没有这样的 MethodBody 时,它到底是如何向 ArrayList 添加一个对象的。

4

2 回答 2

2

如果您查看代码选项卡的标题,它会显示[from metadata]. 这不是您正在查看的实现,而是“在只读缓冲区中显示为 C# 源代码的元数据”。另请参阅:元数据作为源

于 2012-12-05T08:03:07.183 回答
2

实现在dll内部。您可以使用任何 .NET 反编译器来查看代码。有许多免费的反编译器,只需使用搜索即可。

于 2012-12-05T08:12:38.560 回答