我是靠谱客的博主 狂野店员,最近开发中收集的这篇文章主要介绍C#获取实体类的属性名称和对应值一、定义实体类二、实例化类且赋值三、获取实体类的属性名称和对应值,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、定义实体类


        //人员信息模型类
        private class PeopleInfo
        {
            public string ID { get; set; }
            public string Name { get; set; }
            public string Sex { get; set; }
            public string IdCard { get; set; }
        }

二、实例化类且赋值

  PeopleInfo peopleInfo= new PeopleInfo()
            {
                ID = "JK001", Name = "杨万里", Sex = "男", IdCard = "523033199001026780"
            };

三、获取实体类的属性名称和对应值

3.1、 获取到类中的所有属性名称和对应值方法

        /// <summary>
        /// 获取到类中的所有属性和对应值
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="t">类实体</param>
        /// <returns>返回类中的所有属性和对应值</returns>
        public static string GetAllProperties<T>(T t)
        {
            string tStr = string.Empty;
            if (t == null)
            {
                return tStr;
            }
            System.Reflection.PropertyInfo[] properties = t.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);

            if (properties.Length <= 0)
            {
                return tStr;
            }
            foreach (System.Reflection.PropertyInfo item in properties)
            {
                string name = item.Name;
                object value = item.GetValue(t, null);
                if (item.PropertyType.IsValueType || item.PropertyType.Name.StartsWith("String"))
                {
                    tStr += string.Format("{0}:{1},", name, value);
                }
                else
                {
                    GetAllProperties(value);
                }
            }
            return tStr;
        }

3.2、解析类中的所有属性和对应值字符串方法

        /// <summary>
        /// 解析类中的所有属性和对应值字符串
        /// </summary>
        /// <param name="strClassAllProperties">类中的所有属性和对应值字符串</param>
        /// <returns>返回类中所有属性和对应值得键值对列表</returns>
        public static Dictionary<string,string> AnalyAllPropertiesString(string strClassAllProperties)
        {
            Dictionary<string, string> dic = new Dictionary<string, string>();
            if (string.IsNullOrEmpty(strClassAllProperties)) return dic;

            string[] splitDatas = strClassAllProperties.Split(',');

            int len = splitDatas.Length - 1;
            for (int i = 0; i < len; i++)
            {
                string[] strSingle = splitDatas[i].Split(':');

                dic.Add(strSingle[0],strSingle[1]);
            }

            return dic;
        }

3.3、获取实体类所有属性名称和对应值示例

#获取到获取到PeopleInfo类中的所有属性和对应值
string str = Common.ClassOpc.GetAllProperties(peopleInfo);

#输出结果如下:
"ID:JK001,Name:杨万里,Sex:男,IdCard:523033199001026780,"

最后

以上就是狂野店员为你收集整理的C#获取实体类的属性名称和对应值一、定义实体类二、实例化类且赋值三、获取实体类的属性名称和对应值的全部内容,希望文章能够帮你解决C#获取实体类的属性名称和对应值一、定义实体类二、实例化类且赋值三、获取实体类的属性名称和对应值所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(78)

评论列表共有 0 条评论

立即
投稿
返回
顶部