This is a feature and bug-fix update. Seven new StyleCop analysis rules have been implemented, and a few bugs identified in previous rules have been corrected.
Implemented Rules
The following rules are implemented as part of this release. Rules in bold are new for this release.
- Spacing rules
- SA1000 Keywords must be spaced correctly
- SA1021 Negative signs must be spaced correctly
- SA1022 Positive signs must be spaced correctly
- Readability rules
- SA1100 Do not prefix calls with base unless local implementation exists
- SA1101 Prefix local calls with this
- SA1106 Code must not contain empty statements
- SA1111 Closing parenthesis must be on line of last parameter
- SA1112 Closing parenthesis must be on line of opening parenthesis
- SA1121 Use built-in type alias
- SA1122 Use string.Empty for empty strings
- Naming rules
- SA1300 Element must begin with upper-case letter
- SA1302 Interface names must begin with I
- SA1303 Const field names must begin with upper-case letter
- SA1304 Non-private readonly fields must begin with upper-case letter
- SA1311 Static readonly fields must begin with upper-case letter
- Maintainability rules
- SA1119 Statement must not use unnecessary parenthesis
- SA1400 Access modified must be declared
- SA1401 Fields must be private
- SA1402 File may only contain a single class
- SA1403 File may only contain a single namespace
- SA1404 Code analysis suppression must have justification
- SA1405 Debug.Assert must provide message text
- SA1406 Debug.Fail must provide message text
- SA1407 Arithmetic expressions must declare precedence
- SA1408 Conditional expressions must declare precedence
- SA1410 Remove delegate parenthesis when possible
- SA1411 Attribute constructor must not use unnecessary parenthesis
- Documentation rules
- SA1601 Partial elements must be documented
- SA1602 Enumeration items must be documented
- SA1603 Documentation must contain valid XML
- SA1604 Element documentation must have summary
- SA1605 Partial element documentation must have summary
- SA1606 Element documentation must have summary text
- SA1607 Partial element documentation must have summary text