转到 class 的定义,仅显示 public 个成员

Go to Definition of class only showing public members

当我在 Visual Studio 和 select "Go to Definition" 中右键单击 class(这是第三方程序集的一部分 - 不是我编写的代码)时,我可以看到 class.

的所有方法、属性等

我注意到所有这些都是 public 并且没有显示 private(或任何其他访问级别)成员。

此功能是否仅显示 class 的 public 位成员?

您可以在doc page上找到答案:

When you try to run the Go To Definition or Peek Definition command for types or members that are marked as internal, Visual Studio does not display their metadata as source code, regardless of whether the referencing assembly is a friend or not.

如果您想查看程序集的源代码,您有两个选择:

  • 使用反编译工具,例如ILSpy.
  • 在Visual Studio2017 version 15.6+中,您可以设置一个选项来查看类型的定义时查看反编译的源代码。可以在 Tools > Options > Text Editor > C# > Advanced 部分启用此功能。