字符串变量名称
我有类(客户),持有超过200字符串变量财产。我使用的密钥和值的参数法。我试图从供给xml文件键和值。对于这一点,值必须通过客户类的属性(字符串变量)取代。
I have class(Customer) which holds more than 200 string variables as property. I'm using method with parameter of key and value. I trying to supply key and value from xml file. For this, value has to be substituted by Customer class's property(string variables).
即
Customer
{
public string Name{return _name};
public string Address{return _address};
}
CallInput
{
StringTempelate tempelate = new StringTempelate();
foreach(item in items)
tempelate .SetAttribure(item.key, item.Value --> //Say this value is Name, so it has to substitute Customer.Name
}
这可能吗?
您可以使用反射按名称设置属性。
You can use reflection to set the properties 'by name'.
using System.Reflection;
...
myCustomer.GetType().GetProperty(item.Key).SetValue(myCustomer, item.Value, null);
您也可以阅读的GetValue属性,或得到使用的GetType所有属性名的列表()的GetProperties(),它返回的PropertyInfo数组(Name属性包含属性名称)
You can also read the properties with GetValue, or get a list of all property names using GetType().GetProperties(), which returns an array of PropertyInfo (the Name property contains the properties name)