国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用Expression tree訪問類的屬性名稱與值

2019-11-17 02:43:23
字體:
來源:轉載
供稿:網友

使用ExPRession tree訪問類的屬性名稱與值

  表達式樹Expression是Linq中一項比較重要的功能,對其深刻了解Lamda以及計算表達式有很大的幫助.

下面是利用 Expression<Func<Object>>[]取得Func<Object>中的操作數或成員名稱以及值。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Linq.Expressions;using System.Reflection;namespace ExpressionTree{    class Program    {        static void Main(string[] args)        {            MyClass cls = new MyClass() { Memo = "ffffddddd", Name = "dfdf", Age = 33 };            Dictionary<string, string> dic = GetProps(() => cls.Memo, () => cls.Age);            foreach (KeyValuePair<string,string> item in dic)            {                Console.WriteLine(item.Key + "=" + item.Value);            }            Console.Read();        }        static Dictionary<string, string> GetProps(params Expression<Func<Object>>[] funcs)        {            Dictionary<string, string> dic = new Dictionary<string, string>();            MemberExpression member = null;            UnaryExpression unary = null;            foreach (Expression<Func<Object>> func in funcs)            {                unary = func.Body as UnaryExpression;                if (unary != null)                {                    member = unary.Operand as MemberExpression;                }                else                {                    member = func.Body as MemberExpression;                }                PropertyInfo prop = member.Member as PropertyInfo;                object value    = func.Compile().Invoke();                dic.Add(prop.Name, Convert.ToString(value));            }            return dic;        }    }    class MyClass    {        public string Name { get; set; }        public int Age { get; set; }        public string Memo { get; set; }    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 都兰县| 高安市| 广南县| 山阳县| 客服| 柳河县| 海盐县| 泰顺县| 二手房| 乃东县| 石门县| 旬阳县| 安徽省| 阳朔县| 前郭尔| 清徐县| 张家川| 唐山市| 托克托县| 宁远县| 沾益县| 罗源县| 萨迦县| 罗山县| 贺州市| 四会市| 东莞市| 临泽县| 博爱县| 社会| 潞城市| 呼伦贝尔市| 抚宁县| 汤原县| 彭水| 仁布县| 宁都县| 黄山市| 马关县| 嘉黎县| 昭苏县|