在反编译的ArraySegment中抛出null

Ban*_*San 3 .net .net-core

我刚刚看了ArraySegment.NET Core(...\microsoft.netcore.app\2.0.0\ref\netcoreapp2.0\System.Runtime.dll)中的类.

每个方法\属性都包含throw null在其中:

public T[] Array
{
  get
  {
    throw null;
  }
}
Run Code Online (Sandbox Code Playgroud)

这是用来干嘛的?它是如何工作的?

Jon*_*eet 7

您正在查看参考装配体.这不是真正的实现 - 它只是一个有效编译的占位符.

您将看到程序集只有public/protected成员,并且每个基于代码的成员(属性,构造函数,方法等)都是这样实现的.

关键是要创建一个尽可能小的程序集,但编译器可以将其用作参考.在执行时,实际代码存在.