我是C#的新手和特定的反思,我正在尝试解决一个非常具体的问题。我想使用反射实现以下代码(因为在某些机器中可能不存在System.Windows.Forms.DataVisualization.dlls,在这种情况下我将跳过生成图表)。
Chart chart1 = new Chart();
string chartTitle = "Chart Title";
chart1.Titles.Add(chartTitle);
我想出了如何加载一个dll,获取它的类类型,获取/设置其静态/非静态属性,使用构造函数通过Reflections创建对象等。但我很失落如何调用"添加"集合上的方法。 比方说,我通过Reflection有对象Chart1和chartTitle,我如何使用Reflection实现第3行代码。
感谢您的帮助。提前谢谢。
Green Apple
答案 0 :(得分:0)
如果您已有$store->medias()->whereHas('likes', function($q) use($user) {
return $q->where('user_id', '=', $user->id);
});
个实例,则可以使用
object chart1
或
object titles = typeof(chart1).GetProperty("Titles").GetValue(chart1);
获取object titles = chart1.GetType().GetProperty("Titles").GetValue(chart1);
实例。
然后使用chart1.Titles
添加新标题。