示例#1
0
 public CloneProvider(CloneProviderContext context = null)
 {
     if (context != null)
     {
         this.context = context;
     }
 }
示例#2
0
 public CloneProvider(CloneProviderContext context = null)
 {
     if (context != null)
     {
         this.context = context;
     }
     this.AddSurrogate(new DelegateSurrogate());
     this.AddSurrogate(new DictionarySurrogate());
     this.AddSurrogate(new BitmapSurrogate());
 }
示例#3
0
        public static void DeepCopyTo <T>(T baseObj, T targetObj, CloneProviderContext context = null)
        {
            Type          objType  = baseObj.GetType();
            CloneProvider provider = new CloneProvider(context);

            if (objType.IsClass)
            {
                provider.RegisterObjectClone(baseObj, targetObj);
            }
            provider.CopyObjectTo(baseObj, targetObj);
        }
示例#4
0
        public static void DeepCopyTo <T>(this T baseObj, T targetObj, CloneProviderContext context = null)
        {
            CloneProvider provider = new CloneProvider(context);

            provider.CopyObject(baseObj, targetObj);
        }
示例#5
0
        public static T DeepClone <T>(this T baseObj, CloneProviderContext context = null)
        {
            CloneProvider provider = new CloneProvider(context);

            return((T)provider.CloneObject(baseObj));
        }
示例#6
0
        public static T DeepClone <T>(T baseObj, CloneProviderContext context = null)
        {
            CloneProvider provider = new CloneProvider(context);

            return((T)provider.RequestObjectClone(baseObj));
        }
示例#7
0
 public static void DeepCopyTo <T>(this T baseObj, T targetObj, CloneProviderContext context = null)
 {
     CloneProvider.DeepCopyTo <T>(baseObj, targetObj, context);
 }
示例#8
0
 public static T DeepClone <T>(this T baseObj, CloneProviderContext context = null)
 {
     return(CloneProvider.DeepClone <T>(baseObj, context));
 }