我試圖從字典中更改控件屬性,所以基本上字典中的鍵是該控件的屬性名稱,該值將是屬性值。無論如何要做到這一點?從字典中分配.net控件屬性
例如在我的字典中我有「名稱」作爲鍵和「buttonSave」作爲值,我如何將它們與我的控件相關聯以根據鍵和值設置其屬性?
在此先感謝。
我試圖從字典中更改控件屬性,所以基本上字典中的鍵是該控件的屬性名稱,該值將是屬性值。無論如何要做到這一點?從字典中分配.net控件屬性
例如在我的字典中我有「名稱」作爲鍵和「buttonSave」作爲值,我如何將它們與我的控件相關聯以根據鍵和值設置其屬性?
在此先感謝。
例子你如何在你的情況下,使用反射與方法PropertyInfo.SetValue
public class Customer
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Phone { get; set; }
}
var dictionary = new Dictionary<string, object>
{
{"Id", new Guid()},
{"Name", "Phil"},
{"Phone", "12345678"}
};
var customer = new Customer();
foreach (var pair in dictionary)
{
var propertyInfo = typeof(Customer).GetProperty(pair.Key);
propertyInfo.SetValue(customer, pair.Value, null);
}
這就是我正在尋找的,謝謝隊友。 – 2012-08-07 07:10:44
不客氣! – 2012-08-07 07:15:42
using System.Reflection;
查找在MSDN
myControl.GetProperty("Name").SetValue(myControl, "buttonSave", null);
這也將是首先要檢查,該場所存在的好主意,並且它有一個setter。 有關反射的更多信息,請參見here。
Yup歡呼指出, – 2012-08-07 07:11:32
你有沒有看過可能使用反射或switch語句? – 2012-08-07 04:28:10