反射PropertyInfo的简单使用

Posted 积少成多

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反射PropertyInfo的简单使用相关的知识,希望对你有一定的参考价值。

namespace EF6._0Test
{
    class Program
    {
        /// <summary>
        /// PropertyInfo的简单使用
        /// </summary>
        static void Main(string[] args)
        {
            Student stu1 = new Student() { id = 1, name = "张三", length = 175, datetime = DateTime.Now };
            Student1 stu2 = new Student1() { id = 2, name = "李四", length = 176, datetime = DateTime.Now.AddDays(1) };
            var list1 = stu1.GetType().GetProperties();
            var list2 = stu2.GetType().GetProperties();
            //stu1 mapping stu2
            foreach (var item in list1)
            {
                var entityPi = list2.FirstOrDefault(p => p.Name == item.Name);
                entityPi.SetValue(stu2, item.GetValue(stu1));
            }
            Console.WriteLine($"id={stu2.id}  ,name={stu2.name}  ,length={stu2.length}  ,datetime={stu2.datetime}");
            Console.ReadLine();
        }
    }

    public class Student
    {
        public int id { get; set; }
        public string name { get; set; }
        public decimal length { get; set; }
        public DateTime datetime { get; set; }
    }

    public class Student1
    {
        public int id { get; set; }
        public string name { get; set; }
        public decimal length { get; set; }
        public DateTime datetime { get; set; }
    }
}

 

以上是关于反射PropertyInfo的简单使用的主要内容,如果未能解决你的问题,请参考以下文章

c# 如何通过反射 获取属性值

使用反射检测属性的访问修饰符类型

C#反射技术的简单操作(读取和设置类的属性)

C#反射技术的简单操作(读取和设置类的属性属性值)

如何通过反射获取字符串属性的值?

java 反射代码片段