-
Notifications
You must be signed in to change notification settings - Fork 4
Gendarme.Rules.Design.PreferXmlAbstractionsRule(2.10)
Sebastien Pouliot edited this page Jan 22, 2011
·
2 revisions
Assembly: Gendarme.Rules.Design
Version: 2.10
This rule fires if an externally visible method or property uses an XmlDocument, XPathDocument or XmlNode argument. The problem with this is that it ties your API to a specific implementation so it is difficult to change later. Instead use abstract types like IXPathNavigable, XmlReader, XmlWriter, or subtypes of XmlNode.
Bad example (property):
public class Application {
public XmlDocument UserData {
get {
return userData;
}
}
}
Good example (property):
public class Application {
public IXPathNavigable UserData {
get {
return userData;
}
}
}
Bad example (method parameter):
public class Application {
public bool IsValidUserData (XmlDocument userData)
{
/* implementation */
}
}
Good example (method parameter):
public class Application {
public bool IsValidUserData (XmlReader userData)
{
/* implementation */
}
}
- This rule is available since Gendarme 2.6
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!