RCS1001 |
Add braces (when expression spans over multiple lines) |
Info |
RCS1002 |
Remove braces |
None |
RCS1003 |
Add braces to if-else (when expression spans over multiple lines) |
Info |
RCS1004 |
Remove braces from if-else |
None |
RCS1005 |
Simplify nested using statement |
Hidden |
RCS1006 |
Merge 'else' with nested 'if' |
Hidden |
RCS1007 |
Add braces |
None |
RCS1008 |
Use explicit type instead of 'var' (when the type is not obvious) |
None |
RCS1009 |
Use explicit type instead of 'var' (foreach variable) |
None |
RCS1010 |
Use 'var' instead of explicit type (when the type is obvious) |
None |
RCS1012 |
Use explicit type instead of 'var' (when the type is obvious) |
None |
RCS1013 |
Use predefined type |
None |
RCS1014 |
Use explicitly/implicitly typed array |
None |
RCS1015 |
Use nameof operator |
Info |
RCS1016 |
Use block body or expression body |
None |
RCS1018 |
Add/remove accessibility modifiers |
None |
RCS1019 |
Order modifiers |
None |
RCS1020 |
Simplify Nullable<T> to T? |
Info |
RCS1021 |
Convert lambda expression body to expression body |
Info |
RCS1031 |
Remove unnecessary braces in switch section |
Hidden |
RCS1032 |
Remove redundant parentheses |
Info |
RCS1033 |
Remove redundant boolean literal |
Info |
RCS1034 |
Remove redundant 'sealed' modifier |
Hidden |
RCS1035 |
Remove redundant comma in initializer |
None |
RCS1036 |
Remove unnecessary blank line |
Info |
RCS1037 |
Remove trailing white-space |
Info |
RCS1038 |
Remove empty statement |
Info |
RCS1039 |
Remove argument list from attribute |
Hidden |
RCS1040 |
Remove empty 'else' clause |
Hidden |
RCS1041 |
Remove empty initializer |
Info |
RCS1042 |
Remove enum default underlying type |
Hidden |
RCS1043 |
Remove 'partial' modifier from type with a single part |
Hidden |
RCS1044 |
Remove original exception from throw statement |
Warning |
RCS1046 |
Asynchronous method name should end with 'Async' |
None |
RCS1047 |
Non-asynchronous method name should not end with 'Async' |
Info |
RCS1048 |
Use lambda expression instead of anonymous method |
Info |
RCS1049 |
Simplify boolean comparison |
Info |
RCS1050 |
Include/omit parentheses when creating new object |
None |
RCS1051 |
Add/remove parentheses from condition in conditional operator |
None |
RCS1052 |
Declare each attribute separately |
None |
RCS1055 |
Avoid semicolon at the end of declaration |
Hidden |
RCS1056 |
Avoid usage of using alias directive |
None |
RCS1058 |
Use compound assignment |
Info |
RCS1059 |
Avoid locking on publicly accessible instance |
Warning |
RCS1060 |
Declare each type in separate file |
None |
RCS1061 |
Merge 'if' with nested 'if' |
Hidden |
RCS1063 |
([deprecated] use RCS1252 instead) Avoid usage of do statement to create an infinite loop |
Info |
RCS1064 |
([deprecated] use RCS1252 instead) Avoid usage of for statement to create an infinite loop |
None |
RCS1065 |
([deprecated] use RCS1252 instead) Avoid usage of while statement to create an infinite loop |
None |
RCS1066 |
Remove empty 'finally' clause |
Hidden |
RCS1068 |
Simplify logical negation |
Info |
RCS1069 |
Remove unnecessary case label |
Hidden |
RCS1070 |
Remove redundant default switch section |
Hidden |
RCS1071 |
Remove redundant base constructor call |
Hidden |
RCS1072 |
Remove empty namespace declaration |
Info |
RCS1073 |
Convert 'if' to 'return' statement |
Info |
RCS1074 |
Remove redundant constructor |
Hidden |
RCS1075 |
Avoid empty catch clause that catches System.Exception |
Warning |
RCS1077 |
Optimize LINQ method call |
Info |
RCS1078 |
Use "" or 'string.Empty' |
None |
RCS1079 |
Throwing of new NotImplementedException |
None |
RCS1080 |
Use 'Count/Length' property instead of 'Any' method |
None |
RCS1081 |
Split variable declaration |
None |
RCS1084 |
Use coalesce expression instead of conditional expression |
Info |
RCS1085 |
Use auto-implemented property |
Info |
RCS1089 |
Use --/++ operator instead of assignment |
Info |
RCS1090 |
Add/remove 'ConfigureAwait(false)' call |
None |
RCS1091 |
Remove empty region |
Hidden |
RCS1093 |
Remove file with no code |
Info |
RCS1094 |
Declare using directive on top level |
None |
RCS1096 |
Use 'HasFlag' method or bitwise operator |
None |
RCS1097 |
Remove redundant 'ToString' call |
Info |
RCS1098 |
Constant values should be placed on right side of comparisons |
Info |
RCS1099 |
Default label should be the last label in a switch section |
Info |
RCS1100 |
([deprecated] use RCS1253 instead) Format documentation summary on a single line |
None |
RCS1101 |
([deprecated] use RCS1253 instead) Format documentation summary on multiple lines |
None |
RCS1102 |
Make class static |
Warning |
RCS1103 |
Convert 'if' to assignment |
Info |
RCS1104 |
Simplify conditional expression |
Info |
RCS1105 |
Unnecessary interpolation |
Info |
RCS1106 |
Remove empty destructor |
Info |
RCS1107 |
Remove redundant 'ToCharArray' call |
Info |
RCS1108 |
Add 'static' modifier to all partial class declarations |
Info |
RCS1110 |
Declare type inside namespace |
Info |
RCS1111 |
Add braces to switch section with multiple statements |
None |
RCS1112 |
Combine 'Enumerable.Where' method chain |
Info |
RCS1113 |
Use 'string.IsNullOrEmpty' method |
Info |
RCS1114 |
Remove redundant delegate creation |
Info |
RCS1118 |
Mark local variable as const |
Info |
RCS1123 |
Add parentheses when necessary |
Info |
RCS1124 |
Inline local variable |
Hidden |
RCS1126 |
Add braces to if-else |
None |
RCS1128 |
Use coalesce expression |
Info |
RCS1129 |
Remove redundant field initialization |
Hidden |
RCS1130 |
Bitwise operation on enum without Flags attribute |
Info |
RCS1132 |
Remove redundant overriding member |
Info |
RCS1133 |
Remove redundant Dispose/Close call |
Hidden |
RCS1134 |
Remove redundant statement |
Hidden |
RCS1135 |
Declare enum member with zero value (when enum has FlagsAttribute) |
Info |
RCS1136 |
Merge switch sections with equivalent content |
Hidden |
RCS1138 |
Add summary to documentation comment |
Warning |
RCS1139 |
Add summary element to documentation comment |
Warning |
RCS1140 |
Add exception to documentation comment |
Hidden |
RCS1141 |
Add 'param' element to documentation comment |
Hidden |
RCS1142 |
Add 'typeparam' element to documentation comment |
Hidden |
RCS1143 |
Simplify coalesce expression |
Hidden |
RCS1145 |
Remove redundant 'as' operator |
Hidden |
RCS1146 |
Use conditional access |
Info |
RCS1151 |
Remove redundant cast |
Hidden |
RCS1154 |
Sort enum members |
Info |
RCS1155 |
Use StringComparison when comparing strings |
Warning |
RCS1156 |
Use string.Length instead of comparison with empty string |
Info |
RCS1157 |
Composite enum value contains undefined flag |
Info |
RCS1158 |
Static member in generic type should use a type parameter |
Info |
RCS1159 |
Use EventHandler<T> |
Info |
RCS1160 |
Abstract type should not have public constructors |
Info |
RCS1161 |
Enum should declare explicit values |
Hidden |
RCS1162 |
Avoid chain of assignments |
None |
RCS1163 |
Unused parameter |
Info |
RCS1164 |
Unused type parameter |
Info |
RCS1165 |
Unconstrained type parameter checked for null |
Hidden |
RCS1166 |
Value type object is never equal to null |
Info |
RCS1168 |
Parameter name differs from base name |
Hidden |
RCS1169 |
Make field read-only |
Info |
RCS1170 |
Use read-only auto-implemented property |
Info |
RCS1171 |
Simplify lazy initialization |
Info |
RCS1172 |
Use 'is' operator instead of 'as' operator |
Warning |
RCS1173 |
Use coalesce expression instead of 'if' |
Info |
RCS1174 |
Remove redundant async/await |
None |
RCS1175 |
Unused 'this' parameter |
Info |
RCS1176 |
Use 'var' instead of explicit type (when the type is not obvious) |
None |
RCS1177 |
Use 'var' instead of explicit type (in foreach) |
None |
RCS1179 |
Unnecessary assignment |
Info |
RCS1180 |
Inline lazy initialization |
Info |
RCS1181 |
Convert comment to documentation comment |
Hidden |
RCS1182 |
Remove redundant base interface |
Hidden |
RCS1186 |
Use Regex instance instead of static method |
Hidden |
RCS1187 |
Use constant instead of field |
Info |
RCS1188 |
Remove redundant auto-property initialization |
Hidden |
RCS1189 |
Add or remove region name |
Hidden |
RCS1190 |
Join string expressions |
Info |
RCS1191 |
Declare enum value as combination of names |
Info |
RCS1192 |
Unnecessary usage of verbatim string literal |
Info |
RCS1193 |
Overriding member should not change 'params' modifier |
Warning |
RCS1194 |
Implement exception constructors |
Warning |
RCS1195 |
Use ^ operator |
Info |
RCS1196 |
Call extension method as instance method |
Info |
RCS1197 |
Optimize StringBuilder.Append/AppendLine call |
Info |
RCS1198 |
Avoid unnecessary boxing of value type |
None |
RCS1199 |
Unnecessary null check |
Info |
RCS1200 |
Call 'Enumerable.ThenBy' instead of 'Enumerable.OrderBy' |
Info |
RCS1201 |
Use method chaining |
Hidden |
RCS1202 |
Avoid NullReferenceException |
Info |
RCS1203 |
Use AttributeUsageAttribute |
Warning |
RCS1204 |
Use EventArgs.Empty |
Info |
RCS1205 |
Order named arguments according to the order of parameters |
Info |
RCS1206 |
Use conditional access instead of conditional expression |
Info |
RCS1207 |
Use anonymous function or method group |
None |
RCS1208 |
Reduce 'if' nesting |
None |
RCS1209 |
Order type parameter constraints |
Info |
RCS1210 |
Return completed task instead of returning null |
Warning |
RCS1211 |
Remove unnecessary 'else' |
Hidden |
RCS1212 |
Remove redundant assignment |
Info |
RCS1213 |
Remove unused member declaration |
Info |
RCS1214 |
Unnecessary interpolated string |
Info |
RCS1215 |
Expression is always equal to true/false |
Warning |
RCS1216 |
Unnecessary unsafe context |
Info |
RCS1217 |
Convert interpolated string to concatenation |
Hidden |
RCS1218 |
Simplify code branching |
Info |
RCS1220 |
Use pattern matching instead of combination of 'is' operator and cast operator |
Info |
RCS1221 |
Use pattern matching instead of combination of 'as' operator and null check |
Info |
RCS1222 |
Merge preprocessor directives |
Info |
RCS1223 |
Mark publicly visible type with DebuggerDisplay attribute |
None |
RCS1224 |
Make method an extension method |
Info |
RCS1225 |
Make class sealed |
Info |
RCS1226 |
Add paragraph to documentation comment |
Info |
RCS1227 |
Validate arguments correctly |
Info |
RCS1228 |
Unused element in documentation comment |
Hidden |
RCS1229 |
Use async/await when necessary |
Info |
RCS1230 |
Unnecessary explicit use of enumerator |
Info |
RCS1231 |
Make parameter ref read-only |
None |
RCS1232 |
Order elements in documentation comment |
Info |
RCS1233 |
Use short-circuiting operator |
Info |
RCS1234 |
Duplicate enum value |
Info |
RCS1235 |
Optimize method call |
Info |
RCS1236 |
Use exception filter |
Info |
RCS1237 |
([deprecated] use RCS1254 instead) Use bit shift operator |
Hidden |
RCS1238 |
Avoid nested ?: operators |
Hidden |
RCS1239 |
Use 'for' statement instead of 'while' statement |
Info |
RCS1240 |
Operator is unnecessary |
Info |
RCS1241 |
Implement non-generic counterpart |
Hidden |
RCS1242 |
Do not pass non-read-only struct by read-only reference |
Warning |
RCS1243 |
Duplicate word in a comment |
Info |
RCS1244 |
Simplify 'default' expression |
Hidden |
RCS1246 |
Use element access |
Info |
RCS1247 |
Fix documentation comment tag |
Info |
RCS1248 |
Normalize null check |
None |
RCS1249 |
Unnecessary null-forgiving operator |
Info |
RCS1250 |
Use implicit/explicit object creation |
None |
RCS1251 |
Remove unnecessary braces from record declaration |
Info |
RCS1252 |
Normalize usage of infinite loop |
None |
RCS1253 |
Format documentation comment summary |
None |
RCS1254 |
Normalize format of enum flag value |
Info |
RCS1255 |
Simplify argument null check |
None |
RCS1256 |
Invalid argument null check |
Info |