-
Notifications
You must be signed in to change notification settings - Fork 4
Gendarme.Rules.Security.ArrayFieldsShouldNotBeReadOnlyRule(git)
Sebastien Pouliot edited this page Mar 2, 2011
·
1 revision
Assembly: Gendarme.Rules.Security
Version: git
This rule warns if a type declares a public readonly array field. Marking a field readonly only prevents the field from being assigned a different value, the object itself can still be changed. This means, that the elements inside the array can still be changed.
Bad example:
class Bad {
public readonly string[] Array = new string[] { "A", "B" };
}
HasPublicReadonlyArray obj = HasPublicReadonlyArray ();
obj.Array[0] = "B"; // valid
Good example:
class Good {
private readonly string[] array = new string[] { "A", "B" };
public string[] GetArray ()
{
return (string []) array.Clone();
}
}
string[] obj = new HasPublicReadonlyArray ().GetArray ();
obj [0] = "B"; // valid, but has no effect on other users
You can browse the latest source code of this rule on github.com
Note that this page was autogenerated (3/17/2011 1:55:44 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!