動態的獲取一個類型的屬性和值也類似 只不過是 傳遞對象 返回屬性名稱和值
/// <summary>
/// 獲得一個類型的屬性名稱和值
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static Dictionary<string, object> DynamicGetProperty(object obj)
{
Dictionary<string, object> temp = new Dictionary<string, object>();
//獲得說有公開屬性 並把屬性名稱作為Key 值作為Value
Array.ForEach<PropertyInfo>(obj.GetType().GetPropertIEs(), p => temp.Add(p.Name, p.GetValue(obj, null)));
return temp;
}
動態的創建類型 、設置值、獲取值的方法都有了。 我們還需要什麼方法。。
我們還需要一個獲取一個類型的屬性名稱和返回值的方法
/// <summary>
/// 將一個類型的所有公開的屬性 和返回類型 放入Dictionary內
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
private static Dictionary<string, string> TypeTransform(Type type)
{
Dictionary<string, string> dictionary = new Dictionary<string, string>();
//獲得說有公開屬性 並把屬性名稱作為Key 值作為Value
Array.ForEach<PropertyInfo>(type.GetPropertIEs(), p => dictionary.Add(p.Name, p.PropertyType.FullName));
return dictionary;
}
這時 動態創建類型 、動態設置值 、動態獲取值 動態獲取屬性和返回值的方法完成了。