• λ我爱Aspx >> Asp.Net >> 利用反射实现深拷贝的问题
  • 利用反射实现深拷贝的问题

  • :aspxer  Դ:csdn  :2007-7-6 2:50:56  ؼ:
  • 写了这么一个方法用于通过反射,获得输入对象的深拷贝,代码如下:

    google_ad_width = 250; google_ad_height = 250; google_ad_format = "250x250_as"; google_color_url = "000000";

    public static object GetDeepCopy(object obj)

    {

    Object DeepCopyObj;

    if (obj.GetType().IsValueType == true)//值类型

    {

    DeepCopyObj = obj;

    }

    else//引用类型

    {

    DeepCopyObj = System.Activator.CreateInstance(obj.GetType()); //创建引用对象

    System.Reflection.MemberInfo[] memberCollection = obj.GetType().GetMembers();

    foreach (System.Reflection.MemberInfo member in memberCollection)

    {

    if (member.MemberType == System.Reflection.MemberTypes.Field)

    {

    System.Reflection.FieldInfo field = (System.Reflection.FieldInfo)member;

    Object fieldValue = field.GetValue(obj);

    field.SetValue(DeepCopyObj, GetDeepCopy(fieldValue));

    }

    Ҷƪл˵?
  • һƪ调查:昨晚你战斗了几次?
    һƪ问几个遇到的问题