| 
							 
 
						 | 
						
							
								
									
										 | 
									 
									
										 | 
									 
									
										
											An object that want to support cloning should implement the ICloneable interface. This interface exposes only one method, Clone, which returns a copy of the object. The ICloneable specifics don't specify whether the object that the Clone method returns is a shallow copy or a deep copy. The difference is subtle, but important when the object being cloned has subobjects: a shallow copy creates a clone of the main (root) object, but doesn't create a copy of any dependent object, whereas a deep copy would copy also all dependent objects.
  For example, if you are cloning an array of ten Person objects, a shallow copy would create only one new object (the array), whereas a deep copy would create 11 new objects.
  The simplest way to generate a shallow copy is to rely on the MemberwiseClone method that all objects inherit from System.Object. So in practice, you can use the same routine for all cloneable classes: |   
             
										 | 
									 
									
										| 
											
										 | 
									 
									
										| 
 | 
									 
								
							 
							
							
 
	
		| 
			Submitted By :
					Nayan Patel 
					 (Member Since : 5/26/2004 12:23:06 PM)
		 | 
	 
	
		  | 
	 
	
		| 
			 
				  
		 | 
		
			Job Description :   
			He is the moderator of this site and  currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting. | 
	 
	
		| 
			View all (893) submissions by this author 
			(Birth Date : 7/14/1981 ) | 
	 
 
						 | 
						
						 |