[英]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.