c#反射获取属性

using System.Reflection;

      class Config
       {
            public string encoding { get; set; }
            public string plugins { get; set; }
       } 
       将hashtable的key值赋给实体类config. 
         Hashtable ht = new Hashtable();

        ht.Add("encoding", "utf8");
        ht.Add("plugins", "xxxx");
        Config config = new Config();
        PropertyInfo[] propertys = config.GetType().GetProperties();
        foreach (PropertyInfo property in propertys)
        {
            for (int i = 0; i < ht.Count; i++)
            {
                property.SetValue(config, ht[property.Name].ToString(), null);
            }
        }

 -----------------------------------------------------------------------------------

public class ForeachClass
{
///


/// C#反射遍历对象属性
///

/// 对象类型
/// 对象
public static void ForeachClassProperties(T model)
{
Type t = model.GetType();
PropertyInfo[] PropertyList = t.GetProperties();
foreach (PropertyInfo item in PropertyList)
{
string name = item.Name;
object value = item.GetValue(model, null);
}
}
}

你可能感兴趣的:(c#反射获取属性)