簡體   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