如何推断源文件中的关系

时间:2019-05-24 04:57:09

标签: c# .net

我是C#/。NET的新手,只是有关如何推断源文件中的关系的问题。 例如,我在VS中按F12转到类Exception的定义:

...
public Exception(string message);
...
public virtual string Message { get; }
...

因此我可以在Exception的构造函数中进行猜测,就像:

{
   this.Message = message
}

但是随后我检查了https://referencesource.microsoft.com/#mscorlib/system/exception.cs,f092fb2b893a0162上的源代码

在857行上,有一个属性:

internal String _message;

所以我的问题是:

  1. 为什么_message不在VS定义中?
  2. 如果程序员无法检查源代码文件(例如,没有Internet连接),他怎么能知道Exception的构造函数确实在内部设置_message?

1 个答案:

答案 0 :(得分:0)

  1. 由于它处于引用的程序集中,因此无法显示它们的源代码,因此需要首先将其反汇编,您可以查看的只是有关这些类的元数据。它适用于所有.NET类和库。

  2. 您可以下载一些工具来分解ceratin DLL,例如,您可以下载dotPeek。 See this google results