-
Notifications
You must be signed in to change notification settings - Fork 4
Gendarme.Rules.Design.ImplementICloneableCorrectlyRule(2.10)
Sebastien Pouliot edited this page Feb 9, 2011
·
3 revisions
Assembly: Gendarme.Rules.Design
Version: 2.10
This rule fires if you implement a object Clone() method without implementing the System.ICloneable interface. Either change the method so that it returns a better type than System.Object or implement ICloneable.
Bad example:
public class MyClass {
public object Clone ()
{
MyClass myClass = new MyClass ();
return myClass;
}
}
Good example (ICloneable):
public class MyClass : ICloneable {
public object Clone ()
{
MyClass myClass = new MyClass ();
return myClass;
}
}
Good example (not returning System.Object):
public class MyClass {
public MyClass Clone ()
{
MyClass myClass = new MyClass ();
return myClass;
}
}
- Prior to Gendarme 2.2 this rule was named UsingCloneWithoutImplementingICloneableRule
Note that this page was autogenerated (3/17/2011 9:31:58 PM) based on the xmldoc
comments inside the rules source code and cannot be edited from this wiki.
Please report any documentation errors, typos or suggestions to the
Gendarme Mailing List. Thanks!