Skip to content
Go to file
Cannot retrieve contributors at this time
173 lines (170 sloc) 18.4 KB

Compiler Diagnostics Fixable with Roslynator

Id Title
CS0019 Operator 'operator' cannot be applied to operands of type 'type' and 'type'.
CS0021 Cannot apply indexing with [] to an expression of type 'type'.
CS0023 Operator 'operator' cannot be applied to operand of type 'type'.
CS0029 Cannot implicitly convert type 'type' to 'type'.
CS0030 Cannot convert type 'type' to 'type'.
CS0037 Cannot convert null to 'type' because it is a non-nullable value type.
CS0069 An event in an interface cannot have add or remove accessors.
CS0077 The as operator must be used with a reference type or nullable type ('type' is a non-nullable value type).
CS0080 Constraints are not allowed on non-generic declarations.
CS0101 The namespace 'namespace' already contains a definition for 'type'.
CS0102 The type 'type name' already contains a definition for 'identifier'.
CS0103 The name 'identifier' does not exist in the current context.
CS0106 The modifier 'modifier' is not valid for this item.
CS0107 More than one protection modifier.
CS0108 'member1' hides inherited member 'member2'. Use the new keyword if hiding was intended.
CS0109 The member 'member' does not hide an inherited member. The new keyword is not required.
CS0112 A static member 'function' cannot be marked as override, virtual or abstract.
CS0114 'function1' hides inherited member 'function2'. To make the current method override that implementation, add the override keyword. Otherwise add the new keyword.
CS0115 'function': no suitable method found to override.
CS0119 'identifier' is a 'construct', which is not valid in the given context.
CS0120 An object reference is required for the nonstatic field, method, or property 'member'.
CS0123 No overload for 'method' matches delegate 'delegate'.
CS0126 An object of a type convertible to 'type' is required.
CS0127 Since 'function' returns void, a return keyword must not be followed by an object expression.
CS0128 A local variable named 'variable' is already defined in this scope.
CS0131 The left-hand side of an assignment must be a variable, property or indexer.
CS0132 'constructor': a static constructor must be parameterless.
CS0133 The expression being assigned to 'variable' must be constant.
CS0136 A local variable named 'var' cannot be declared in this scope because it would give a different meaning to 'var', which is already used in a 'parent or current/child' scope to denote something else.
CS0139 No enclosing loop out of which to break or continue.
CS0152 The switch statement contains multiple cases with same label value.
CS0161 'method': not all code paths return a value.
CS0162 Unreachable code detected.
CS0163 Control cannot fall through from one case label ('label') to another.
CS0164 This label has not been referenced.
CS0165 Use of unassigned local variable 'name'.
CS0168 The variable 'var' is declared but never used.
CS0173 Type of conditional expression cannot be determined because there is no implicit conversion between 'class1' and 'class2'.
CS0177 The out parameter 'parameter' must be assigned to before control leaves the current method.
CS0191 A readonly field cannot be assigned to (except in a constructor or a variable initializer).
CS0192 Readonly field 'name' cannot be used as ref or out value (except in a constructor).
CS0201 Only assignment, call, increment, decrement, and new object expressions can be used as a statement.
CS0214 Pointers and fixed size buffers may only be used in an unsafe context.
CS0216 The operator 'operator' requires a matching operator 'missing_operator' to also be defined.
CS0219 The variable 'variable' is assigned but its value is never used.
CS0221 Constant value 'value' cannot be converted to a 'type' (use 'unchecked' syntax to override).
CS0225 The params parameter must be a single dimensional array.
CS0238 'identifier' cannot be sealed because it is not an override.
CS0246 The type or namespace name 'type/namespace' could not be found (are you missing a using directive or an assembly reference?).
CS0260 Missing partial modifier on declaration of type 'type'; another partial declaration of this type exists.
CS0262 Partial declarations of 'type' have conflicting accessibility modifiers.
CS0266 Cannot implicitly convert type 'type1' to 'type2'. An explicit conversion exists (are you missing a cast?).
CS0267 The partial modifier can only appear immediately before 'class', 'struct', or 'interface'.
CS0275 'accessor': accessibility modifiers may not be used on accessors in an interface.
CS0305 Using the generic type 'generic type' requires 'number' type arguments.
CS0401 The new() constraint must be the last constraint specified.
CS0403 Cannot convert null to type parameter 'name' because it could be a non-nullable value type. Consider using default('T') instead.
CS0405 Duplicate constraint 'constraint' for type parameter 'type parameter'.
CS0407 'return-type method' has the wrong return type.
CS0409 A constraint clause has already been specified for type parameter 'type parameter'. All of the constraints for a type parameter must be specified in a single where clause.
CS0428 Cannot convert method group 'identifier' to non-delegate type 'type'. Did you intend to invoke the method?
CS0441 'class': a class cannot be both static and sealed.
CS0442 'property': abstract properties cannot have private accessors.
CS0449 The 'class' or 'struct' constraint must come before any other constraints.
CS0450 'type parameter name': cannot specify both a constraint class and the 'class' or 'struct' constraint.
CS0451 The 'new()' constraint cannot be used with the 'struct' constraint.
CS0472 The result of the expression is always 'value1' since a value of type 'value2' is never equal to 'null' of type 'value3'.
CS0500 'class member' cannot declare a body because it is marked abstract.
CS0501 'member function' must declare a body because it is not marked abstract, extern, or partial.
CS0507 'function1': cannot change access modifiers when overriding 'access' inherited member 'function2'.
CS0508 'type1': return type must be 'type2' to match overridden member 'member name'.
CS0513 'function' is abstract but it is contained in nonabstract class 'class'.
CS0515 'function': access modifiers are not allowed on static constructors.
CS0524 'identifier': interfaces cannot declare types.
CS0525 Interfaces cannot contain fields.
CS0527 Type 'type' in interface list is not an interface.
CS0531 'member': interface members cannot have a definition.
CS0539 'member' in explicit interface declaration is not a member of interface
CS0541 'declaration': explicit interface declaration can only be declared in a class or struct.
CS0549 New virtual member in sealed class.
CS0558 User-defined operator 'operator' must be declared static and public.
CS0567 Interfaces cannot contain operators.
CS0568 Structs cannot contain explicit parameterless constructors.
CS0573 'field declaration': cannot have instance field initializers in structs.
CS0574 Name of destructor must match name of class.
CS0575 Only class types can contain destructors.
CS0579 Duplicate 'attribute' attribute.
CS0592 Attribute 'attribute' is not valid on this declaration type. It is valid on 'type' declarations only.
CS0621 'member': virtual or abstract members cannot be private.
CS0628 member' : new protected member declared in sealed class.
CS0659 'class' overrides Object.Equals(object o) but does not override Object.GetHashCode().
CS0660 'class' defines operator == or operator != but does not override Object.Equals(object o).
CS0661 'class' defines operator == or operator != but does not override Object.GetHashCode().
CS0678 'variable': a field can not be both volatile and readonly.
CS0693 Type parameter 'type parameter' has the same name as the type parameter from outer type 'type'.
CS0708 'field': cannot declare instance members in a static class.
CS0710 Static classes cannot have instance constructors
CS0713 Static class 'static type' cannot derive from type 'type'. Static classes must derive from object.
CS0714 Static class cannot implement interfaces.
CS0718 'type': static types cannot be used as type arguments.
CS0750 A partial method cannot have access modifiers or the virtual, abstract, override, new, sealed, or extern modifiers.
CS0751 A partial method must be declared in a partial class or partial struct.
CS0753 Only methods, classes, structs, or interfaces may be partial.
CS0756 A partial method may not have multiple defining declarations.
CS0759 No defining declaration found for implementing declaration of partial method 'method'.
CS0766 Partial methods must have a void return type.
CS0815 Cannot assign 'expression' to an implicitly typed local.
CS0819 Implicitly typed locals cannot have multiple declarators.
CS0822 Implicitly typed locals cannot be const.
CS1002 ; expected.
CS1003 Syntax error, 'char' expected.
CS1004 Duplicate 'modifier' modifier.
CS1012 Too many characters in character literal.
CS1023 Embedded statement cannot be a declaration or labeled statement.
CS1031 Type expected.
CS1057 'member': static classes cannot contain protected members.
CS1061 'type' does not contain a definition for 'member' and no extension method 'name' accepting a first argument of type 'type' could be found (are you missing a using directive or an assembly reference?).
CS1100 Method 'name' has a parameter modifier 'this' which is not on the first parameter.
CS1105 Extension methods must be static.
CS1106 Extension methods must be defined in a non-generic static class.
CS1503 Argument 'number' cannot convert from 'type1' to 'type2'.
CS1522 Empty switch block.
CS1526 A new expression requires (), [], or {} after type.
CS1527 Elements defined in a namespace cannot be explicitly declared as private, protected, protected internal or private protected.
CS1591 Missing XML comment for publicly visible type or member 'name'.
CS1597 Semicolon after method or accessor block is not valid.
CS1609 Modifiers cannot be placed on event accessor declarations.
CS1615 Argument 'number' should not be passed with the 'keyword' keyword.
CS1620 Argument 'number' must be passed with the 'keyword' keyword.
CS1621 The yield statement cannot be used inside an anonymous method or lambda expression.
CS1622 Cannot return a value from an iterator. Use the yield return statement to return a value, or yield break to end the iteration.
CS1623 Iterators cannot have ref or out parameters.
CS1624 The body of 'identifier' cannot be an iterator block because 'type' is not an iterator interface type.
CS1643 Not all code paths return a value in method of type 'type'.
CS1674 'T': type used in a using statement must be implicitly convertible to 'System.IDisposable'.
CS1689 Attribute 'attribute' is only valid on methods or attribute classes.
CS1715 'type1': type must be 'type2' to match overridden member 'member'.
CS1717 Assignment made to same variable; did you mean to assign something else?
CS1722 Base class 'class' must come before any interfaces.
CS1737 Optional parameters must appear after all required parameters.
CS1741 A ref or out parameter cannot have a default value.
CS1743 Cannot specify a default value for the 'this' parameter.
CS1750 A value of type 'type1' cannot be used as a default parameter because there are no standard conversions to type 'type2.
CS1751 Cannot specify a default value for a parameter array.
CS1955 Non-invocable member 'name' cannot be used like a method.
CS1983 The return type of an async method must be void, Task or Task<T>.
CS1988 Async methods cannot have ref or out parameters.
CS1994 The 'async' modifier can only be used in methods that have a body.
CS1997 Since 'RemoveReturnKeywordOrReturnExpression.FooAsync()' is an async method that returns 'Task', a return keyword must not be followed by an object expression. Did you intend to return 'Task<T>>'?
CS3000 Methods with variable arguments are not CLS-compliant.
CS3001 Argument type 'type' is not CLS-compliant.
CS3002 Return type of 'method' is not CLS-compliant.
CS3003 Type of 'variable' is not CLS-compliant.
CS3005 Identifier 'identifier' differing only in case is not CLS-compliant.
CS3006 Overloaded method 'method' differing only in ref or out, or in array rank, is not CLS-compliant.
CS3007 Overloaded method 'method' differing only by unnamed array types is not CLS-compliant.
CS3008 Identifier 'identifier' is not CLS-compliant.
CS3009 Base type 'type' is not CLS-compliant.
CS3016 Arrays as attribute arguments is not CLS-compliant.
CS3024 Constraint type 'type' is not CLS-compliant.
CS3027 'type_1' is not CLS-compliant because base interface 'type_2' is not CLS-compliant.
CS8050 Only auto-implemented properties can have initializers.
CS8070 Control cannot fall out of switch from final case label ('default').
CS8112 'function' is a local function and must therefore always have a body.
CS8139 Cannot change tuple element names when overriding inherited member.
CS8340 Instance fields of read-only structs must be read-only.

(Generated with DotMarkdown)