解决方案 »

  1.   

    implicit explicit
    了解下相关知识,虽然赋值和克隆是不同的概念,但你一定要实现也还是可以的
      

  2.   

    重载赋值操作符可以实现,
    本质还是要
    实现IClonable接口并重写Clone方法实现深Copy
      

  3.   

    这个试试,可以不        /// <summary>
            /// 对象A转换为对象B(对象A与对象B共同属性值之间相互转换)
            /// </summary>
            /// <param name="objA">对象A</param>
            /// <returns>返回为对象B</returns>
            public static B ConvertToObject<A, B>(A objA)
            {
                object objB = Activator.CreateInstance(typeof(B));
                if (objB == null)
                {
                    return default(B);
                }            PropertyDescriptor objPropertyA = null;
                PropertyDescriptorCollection objPropertiesA = TypeDescriptor.GetProperties(objA);
                PropertyDescriptorCollection objPropertiesB = TypeDescriptor.GetProperties(objB);            foreach (PropertyDescriptor property in objPropertiesB)
                {
                    objPropertyA = objPropertiesA.Find(property.Name, true);
                    if (objPropertyA != null)
                    {
                        property.SetValue(objB, objPropertyA.GetValue(objA));
                    }
                }            return (B)objB;
            }
        }