DataVisualization - ILSpy中的空函数体

时间:2014-03-03 18:48:23

标签: c# winforms mschart

我正在做一些天体物理学研究,我正在使用Win-Form Chart组件分析数据。在X轴上是日期,在Y轴上是值,我正在使用图表的成员方法DataManipulator.FinancialFormula对值进行MovingAverage。

我和我的顾问关心这个函数如何处理缺少的日期。所以我尝试使用ILSpy查看System.Windows.Forms.DataVisualization.dll以查看它是如何实现的,但我发现所有函数体都是空的,但是当我检查TcpClient DisposeClose方法时,我能够看到完整的功能体。我尝试ILDasmJustDecompile的结果与ILSpy相同。

为什么System.Windows.Forms.DataVisualization.dll的方法体是空的?

那么DataManipulator.FinancialFormula的真实代码在哪里?

或者这个函数如何处理日期中的空白?

1 个答案:

答案 0 :(得分:3)

我和ILSpy的@Junaith输出之间的区别让我想到我正在查看错误的文件 - C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.Windows.‌​Forms.DataVisualization.dll。我通过在图表的成员方法DataManipulator.FinancialFormula上使用“转到定义”VS函数查看的System.Windows.Forms.DataVisualization.Charting.DataFormula元数据顶部的注释获得此路径。

所以我运行了我的程序并使用Process Explorer我查看了程序进程属性中加载的.NET程序集。令我惊讶的是,之前提到的dll并不存在,而是我找到C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Wind0de890be#\a4711c664a774896b35428b1a3bf9470\System.Windows.Forms.DataVisualization.ni.dll

我将这个dll加载到ILSpy中,方法已经完全实现,包括它们的主体。