繁体   English   中英

如何使用反射添加到集合-C#

[英]How to add to collection using reflection - C#

我是C#的新手,并且是具体的反思,我正在尝试解决一个非常具体的问题。 我想使用反射实现以下代码(由于在某些计算机上可能不存在System.Windows.Forms.DataVisualization.dll,因此在这种情况下,我将跳过生成图表)。

Chart chart1 = new Chart();
string chartTitle = "Chart Title";
chart1.Titles.Add(chartTitle);

我想出了如何加载dll,获取其类类型,获取/设置其静态/非静态属性,使用构造函数通过反射创建对象等的方法。 但是我对如何在集合上调用“ add”方法一无所知。 说,我通过反射拥有对象Chart1和chartTitle,如何使用反射实现代码的第三行。

感谢您的帮助。 提前致谢。

青苹果

如果您已经有object chart1实例,则可以使用

object titles = typeof(chart1).GetProperty("Titles").GetValue(chart1);

要么

object titles = chart1.GetType().GetProperty("Titles").GetValue(chart1);

获取chart1.Titles实例。

然后使用titles.GetMethod("Add").Invoke(titles, chartTitle); 添加新标题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM