C#命名空间System.Windows.Forms.DataVisualization.Charting.StatisticFormula似乎有一些我需要的统计函数。命名空间记录在MSDN here。我真的很想使用InverseNormalDistribution(double Z)函数。问题是构造函数是内部的,所以我无法访问我知道的函数。使用.Net的StatisticFormula库
是否有某种方法可以访问此命名空间中的静态函数,还是需要找到其他解决方案?
C#命名空间System.Windows.Forms.DataVisualization.Charting.StatisticFormula似乎有一些我需要的统计函数。命名空间记录在MSDN here。我真的很想使用InverseNormalDistribution(double Z)函数。问题是构造函数是内部的,所以我无法访问我知道的函数。使用.Net的StatisticFormula库
是否有某种方法可以访问此命名空间中的静态函数,还是需要找到其他解决方案?
你也许可以使用反射,这样的事情应该这样做:
var statisticFormula =
(StatisticFormula) typeof(StatisticFormula).GetConstructor(
BindingFlags.NonPublic | BindingFlags.Instance,
null, Type.EmptyTypes, null).Invoke(null);
但是,这可能是一个更好的办法:
var chart = new Chart();
var value = chart.DataManipulator.Statistics.InverseNormalDistribution(.15)
这正是我所需要的(第二部分)。谢谢。 – user1214135 2012-07-12 19:42:55
可能想要添加使用到图表,即使用(var chart = new Chart()){return chart.DataM .....; }。有趣的是,这种有用的可重用代码是如何隐藏在这样一个繁琐的名称空间和API中的。 – gatapia 2013-05-13 21:55:19
你能证明你有什么迄今在示例问候C#代码..?我认为,一旦我们可以看到你正在使用的是什么,或者你是如何实现方法 – MethodMan 2012-07-12 19:25:48
我想这样做会更有意义:var stat = new System.Windows.Forms.DataVisualization.Charting.StatisticFormula( ); Console.WriteLine(stat.InverseNormalDistribution(0.5)); //它会给我一个编译器错误。 – user1214135 2012-07-12 19:43:36