我正在进行一些天体物理学研究,并且正在使用 Win-Form Chart 组件分析数据。 X 轴上是日期,Y 轴上是值,我使用 Chart 的成员方法 DataManipulator.FinancialFormula
对值应用 MovingAverage。
我和我的顾问很关心这个函数如何处理缺失的日期。所以我尝试使用 ILSpy
查看 System.Windows.Forms.DataVisualization.dll
以了解它是如何实现的,但我发现所有函数体都是空的,但是当我检查 TcpClient
Dispose
和 Close
方法,我能够看到完整的函数体。我尝试了 ILDasm
和 JustDecompile
,结果与 ILSpy
相同。
为什么 System.Windows.Forms.DataVisualization.dll
中的方法体是空的?
那么DataManipulator.FinancialFormula
的真正代码在哪里呢?
或者这个函数如何处理日期间隔?
最佳答案
我和@Junaith 来自 ILSpy 的输出之间的差异让我意识到我正在查看错误的文件 - C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.Windows.Forms.DataVisualization.dll
.我从System.Windows.Forms.DataVisualization.Charting.DataFormula
的元数据顶部的评论中获得的这条路径|在 Chart 的成员方法 DataManipulator.FinancialFormula 上使用“Go to Definition”VS 函数查看。
所以我运行我的程序并使用Process Explorer我在程序进程的属性中查看了已加载的 .NET 程序集。令我惊讶的是,之前提到的 dll 甚至不存在,相反我在那里找到了 C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Wind0de890be#\a4711c664a774896b35428b1a3bf9470\System.Windows.Forms.DataVisualization.ni.dll
.
我将该 dll 加载到 ILSpy 中,方法具有完整的实现,包括它们的主体。
关于c# - DataVisualization - ILSpy 中的空函数体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22154780/