国产探花免费观看_亚洲丰满少妇自慰呻吟_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; }    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荆州市| 镇江市| 黑龙江省| 固安县| 夏津县| 金门县| 西贡区| 开封县| 佛山市| 化州市| 巩义市| 囊谦县| 仪陇县| 白河县| 桑植县| 将乐县| 庐江县| 高唐县| 永和县| 香河县| 剑河县| 宜黄县| 榆中县| 鄢陵县| 什邡市| 安新县| 遂川县| 永登县| 镇康县| 鄂托克前旗| 陕西省| 万州区| 竹北市| 长顺县| 邓州市| 交城县| 上虞市| 营山县| 水富县| 黄大仙区| 赣榆县|