首页 > 编程语言 >C# 将实体2的值动态赋值给实体1(名称一样的属性进行赋值)

C# 将实体2的值动态赋值给实体1(名称一样的属性进行赋值)

时间:2024-04-26 18:24:00浏览次数:19  
标签:C# model2 model1 实体 T1 exclude 赋值

 

        /// <summary>
        /// 将实体2的值动态赋值给实体1(名称一样的属性进行赋值)
        /// </summary>
        /// <param name="model1">实体1</param>
        /// <param name="model2">实体2</param>
        /// <returns>赋值后的model1</returns>
        public static T1 BindModelValue<T1, T2>(T1 model1, T2 model2) where T1 : class where T2 : class
        {
            Type t1 = model1.GetType();
            Type t2 = model2.GetType();
            PropertyInfo[] property2 = t2.GetProperties();
            //排除主键
            //List<string> exclude = new List<string>() { "Id" };
            foreach (PropertyInfo p in property2)
            {
                //if (exclude.Contains(p.Name)) { continue; }
                t1.GetProperty(p.Name)?.SetValue(model1, p.GetValue(model2, null));
            }
            return model1;
        }

 

标签:C#,model2,model1,实体,T1,exclude,赋值
From: https://www.cnblogs.com/hkzw/p/18160634

相关文章

  • AGC041F Histogram Rooks
    考察一个合法的棋盘,有一些列上有车,其他的列没有车。有车的列所有格子都被覆盖,没有车的列上的每个格子都需要被同一行的车覆盖。即考察所有极长的行连续段,如果这个连续段涉及的列里包含没有车的列,那么这个行连续段里必须有车。考虑枚举有车的列的集合\(S\),对于每个行连续段,记它......
  • Java并发01---JMM模型、Volatile、CAS操作、自旋锁、ABA问题
    @目录JMM(JavaMemoryModel)Volatile修饰CAS(CompareAndSwap)ABA问题JMM(JavaMemoryModel)首先要明确的是JMM与JVM内存结构不是同一个概念,记的时候不要记混。我们先来回顾一下JVM内存结构,其包括了堆、方法区、虚拟机栈、程序计数器、本地方法区,其中前二者为线程共享,后三者为线程......
  • AI模块(有限状态机、行为树)-应用在cocos中
    前言:本模块是在cocos项目中运用战斗框架,根据学习别人的文章来结合项目进行编写的,若有不对不合理的地方有劳大家指正,万分感谢!!!若有能有用的上的,万分荣幸!简介:AI模块一般是对怪物的AI实现,或者托管等自动战斗的情况。具体方式可能根据项目的具体需求来选择,常用的有:有限状态机,行为树......
  • Java并发02---Synchronized的实现原理、锁的升级、锁的膨胀、对象头、锁的消除、偏向
    @目录何为synchronized前置知识:对象头锁的升级(锁的膨胀)偏向锁轻量级锁轻量级锁锁的消除何为synchronized我们知道,synchronized关键字能够将其修饰的代码块、方法、静态方法变成同步代码。我们在前文中已经介绍过了,使用volatile关键字修饰能保证变量在内存中的可见性,但不保证操作......
  • C# Modbut TCP 读写
    一、封装基本连接、读写。读写 ReadHoldingRegisters,当前有四种方案,现在只使用 ReadHoldingRegistersint类型,需要其他方案自行新增。publicclassModbusClient{privateTcpClient?tcpClient;privateIModbusMaster?modbusMaster;......
  • Nacos 安全零信任实践
    作者:柳遵飞Nacos作为配置中心经常存储一些敏感信息,但是由于误用导致安全风险,最常见的主要是以下两个问题:1)Nacos暴露公网可以吗?不可以,因为Nacos定位是注册配置中心,是内部系统,不应该暴露到公网使用。2)不得已要开公网不开鉴权可以吗?不可以,开公网不开鉴权等同于裸奔,为黑客攻击......
  • Memory Layout of the C program
    reference:CompilationStepsandMemoryLayoutoftheCProgramStorageClassRAM明明断电会丢失数据,为什么初始化的全局变量存储在RAM?详细分析程序的存储TableofContentsMemoryLayoutoftheCProgramWhenyourunanyCprogram,itsexecutableimageis......
  • JDK源码分析-Vector
    概述Vector是Java集合中线程安全的动态数组,它也可以根据需要进行扩容和缩容,与ArrayList类似。但有一个重要的区别,Vector是同步的,也就是它的操作是线程安全的,在某些特定场景下是可以保证线程安全的,但同时也会带来性能损耗,因此在单线程环境通常还是推荐使用ArrayList。类图......
  • SystemVerilog -- 6.3 Interface ~ Modports
    在接口中定义带有方向的modport列表,以对模块内的接口访问施加某些限制。关键字指示方向的声明方式与模块内部一样。Syntaxmodport[identifer](input[port_list],output[port_list]);下面显示的是接口myInterface的定义,它有几个信号和两个声明。modportdut0本......
  • amCharts图像分类
    代码案例<!DOCTYPEhtml><html><head><scriptsrc="https://cdn.amcharts.com/lib/5/index.js"></script><scriptsrc="https://cdn.amcharts.com/lib/5/xy.js"></script><scriptsrc=&qu......