Explain current thinking around IClonable.
Answer Posted / madhunathanv
*-->ICloneable is to create the copy of type instances.
*-->To create a true copy of a reference type,
you must clone the object to which it refers.
*-->The ICloneable interface identifies a type as cloneable
and declares the Clone method as the
mechanism through which you obtain a clone of an object.
*-->The Clone method takes no arguments
and returns a System.Object, regardless of the implementing
type. This means that once you clone
an object, you must explicitly cast the clone to the
correct type.
*-->If your custom type contains reference-type data
members, you must decide whether your Clone method will
perform a shallow copy or a deep copy.
*--> A shallow copy means that any referencetype
data members in the clone will refer to the same objects as
the equivalent reference-type data
members in the original object.
*--> A deep copy means that you must create clones of the
entire object graph so that the reference-type data members
of the clone refer to physically independent copies
(clones) of the objects referenced by the original object.
Note:Mostly Shallow Copy is being Preferred.Because A
shallow copy is easy to implement by calling the
MemberwiseClone method from within your
Clone method.
System.Xml.XmlNode implements
a deep copy in its Clone method
| Is This Answer Correct ? | 4 Yes | 0 No |
Post New Answer View All Answers
Define a multilingual website?
What are the server control tags in asp.net.?
Are cookies stored on server or client?
Why do I get error message "could not load type" whenever I browse to my asp.net web site?
What is simple data binding?
What is intrinsic objects in asp.net?
What is jade template engine?
What is role-based security in asp.net?
What is the purpose of session management?
How can you use a custom controls in ASP.NET application?
Where code pages are used?
What is data control in asp.net?
How to turn off cookies for a page?
Explain automatic memory management in .net.
What does the hotspot class in .net do?