• 一个简单的反射拷贝一份新的实体类


    有时候我们需要复制一个实体类,而又不希望两个使用同一个内存地址,我用了很简单的反射来实现这种功能:)

    /// <summary>
            
    /// 设置实体对象的修改属性
            
    /// </summary>
            
    /// <param name="obj"></param>
            
    /// <returns></returns>

            public void CloneEntityObject(object srcObj, object desObj)
            
    {
                
    if (srcObj.Equals(desObj))
                
    {
                    
    return;
                }

                
    if (srcObj.GetType() != desObj.GetType())
                
    {
                    
    return;
                }

                System.Reflection.PropertyInfo[] info 
    = srcObj.GetType().GetProperties();
                
    foreach (System.Reflection.PropertyInfo property in info)
                
    {
                    desObj.GetType().GetProperty(property.Name).SetValue(desObj,
                        srcObj.GetType().GetProperty(property.Name).GetValue(srcObj, 
    null), null);
                }

            }


    也可以将实体类直接继承ICloneable接口,并用如上方法来实现Clone()方法.
    现在有不少架构直接使用自动代码生成器,也可以不使用反射直接每个属性值进行拷贝亦可。
  • 相关阅读:
    03 flex布局
    03 BOM
    02 事件高级
    01 DOM
    06 js 作用域 对象
    Springboot连接Greenplum,分页查询
    Vim常用命令
    Windows IntelliJ IDEA 快捷键终极大全
    IDEA构建Maven项目生成的文件说明(.mvn、mvnw、mvnw.cmd、.gitignore、.iml、.idea、pom.xml)
    Linux下的tar压缩解压缩命令详解
  • 原文地址:https://www.cnblogs.com/syveen/p/297176.html
Copyright © 2020-2023  润新知