C#通过属性名字符串获取、设置对象属性值
生活随笔
收集整理的這篇文章主要介紹了
C#通过属性名字符串获取、设置对象属性值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- #通過反射獲取對象屬性值并設置屬性值
- 0、定義一個類
- 1、通過屬性名(字符串)獲取對象屬性值
- 2、通過屬性名(字符串)設置對象屬性值
- #獲取對象的所有屬性名稱及類型
- #判斷對象是否包含某個屬性
回到頂部
#通過反射獲取對象屬性值并設置屬性值
0、定義一個類
public class User{ public int Id { get; set; }public string Name { get; set; }public string Age { get; set; }}1、通過屬性名(字符串)獲取對象屬性值
User u = new User();u.Name = "lily";var propName = "Name";var propNameVal = u.GetType().GetProperty(propName).GetValue(u, null);Console.WriteLine(propNameVal);// "lily"2、通過屬性名(字符串)設置對象屬性值
User u = new User();u.Name = "lily";var propName = "Name";var newVal = "MeiMei";u.GetType().GetProperty(propName).SetValue(u, newVal);Console.WriteLine(propNameVal);// "MeiMei"回到頂部
#獲取對象的所有屬性名稱及類型
- 通過類的對象實現
- 通過類實現
回到頂部
#判斷對象是否包含某個屬性
static void Main(string[] args){User u = new User();bool isContain= ContainProperty(u,"Name");// true}public static bool ContainProperty( object instance, string propertyName){if (instance != null && !string.IsNullOrEmpty(propertyName)){PropertyInfo _findedPropertyInfo = instance.GetType().GetProperty(propertyName);return (_findedPropertyInfo != null);}return false;}- 將其封裝為擴展方法
總結
以上是生活随笔為你收集整理的C#通过属性名字符串获取、设置对象属性值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NOIP2020退役记
- 下一篇: c# char unsigned_dll