string to variable name

c#

Solution

You can use reflection to set the properties 'by name'.

using System.Reflection;
...
myCustomer.GetType().GetProperty(item.Key).SetValue(myCustomer, item.Value, null);

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)

Problem

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). ie ``` 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 } ``` is it possible?

Original source