Compiler Warnings
- '#warning' directive
'#warning' directive.
- 'attribute modifier' is not a recognized attribute location. All attributes in this block will be ignored
'attribute modifier' is not a recognized attribute location.
- 'attribute modifier' is not a valid attribute location for this declaration. All attributes in this block will be ignored
'attribute modifier' is not a valid attribute location for this declaration.
- 'goto case' value is not implicitly convertible to required type
'goto case' value is not implicitly convertible to required type.
- 'Inline arrays' language feature is not supported for inline array types with element field which is either a 'ref' field, or has type that is not valid as a type argument.
'Inline arrays' language feature is not supported for inline array types with element field which is either a 'ref' field, or has type that is not valid as a type argument.
- [InterpolatedStringHandlerArgument] has no effect when applied to lambda parameters and will be ignored at the call site.
[InterpolatedStringHandlerArgument] has no effect when applied to lambda parameters and will be ignored at the call site.
- A default value is specified for 'ref readonly' parameter, but 'ref readonly' should be used only for references. Consider declaring the parameter as 'in'.
A default value is specified for 'ref readonly' parameter, but 'ref readonly' should be used only for references.
- A local variable is returned by reference but was initialized to a value that cannot be returned by reference.
A local variable is returned by reference but was initialized to a value that cannot be returned by reference.
- A member of a variable is returned by reference but was initialized to a value that cannot be returned by reference
A member of a variable is returned by reference but was initialized to a value that cannot be returned by reference.
- A method marked [DoesNotReturn] should not return.
A method marked [DoesNotReturn] should not return.
- A possible null value may not be used for a type marked with [NotNull] or [DisallowNull].
A possible null value may not be used for a type marked with [NotNull] or [DisallowNull].
- A previous catch clause already catches all exceptions
A previous catch clause already catches all exceptions.
- A result of a stackalloc expression in this context may be exposed outside of the containing method.
A result of a stackalloc expression in this context may be exposed outside of the containing method.
- A template in the logging message doesn't have a matching parameter in the logging method definition
A template in the logging message doesn't have a matching parameter in the logging method definition.
- A value of type 'System.Threading.Lock' converted to a different type will use likely unintended monitor-based locking in 'lock' statement
A value of type 'System.Threading.Lock' converted to a different type will use likely unintended monitor-based locking in 'lock' statement.
- Access to a member through 'base' keyword from anonymous method, lambda expression, query expression or iterator results in unverifiable code
Access to a member through 'base' keyword from anonymous method, lambda expression, query expression or iterator results in unverifiable code.
- Alignment value 'value' has a magnitude greater than 'magnitude limit' and may result in a large formatted string.
Alignment value 'value' has a magnitude greater than 'magnitude limit' and may result in a large formatted string.
- Ambiguous reference in XML comment
Ambiguous reference in XML comment.
- Argument cannot be used as an output for parameter due to differences in the nullability of reference types.
Argument cannot be used as an output for parameter due to differences in the nullability of reference types.
- Argument cannot be used for corresponding parameter due to differences in the nullability of reference types.
Argument cannot be used for corresponding parameter due to differences in the nullability of reference types.
- Argument should be a variable because it is passed to a 'ref readonly' parameter.
Argument should be a variable because it is passed to a 'ref readonly' parameter.
- Argument should be passed with the 'in' keyword.
Argument should be passed with the 'in' keyword.
- Assignment in conditional expression
Assignment in conditional expression.
- Assignment made to same variable
Assignment made to same variable.
- Async function without await expression
Async function without await expression.
- Async method invocation without await expression
Async method invocation without await expression.
- Async-iterator has one or more parameters of type 'CancellationToken' but none of them is annotated with the 'EnumeratorCancellation' attribute.
Async-iterator has one or more parameters of type 'CancellationToken' but none of them is annotated with the 'EnumeratorCancellation' attribute.
- Asynchronous 'Main' method will not be used as an entry point because a synchronous entry point was found.
Asynchronous 'Main' method will not be used as an entry point because a synchronous entry point was found.
- Badly formed XML in included comments file
Badly formed XML in included comments file.
- Bitwise-or operator used on a sign-extended operand.
Bitwise-or operator used on a sign-extended operand.
- Call to a non-readonly member from a 'readonly' member results in an implicit copy of 'this'
Call to a non-readonly member from a 'readonly' member results in an implicit copy of 'this'.
- Cannot convert null literal to non-nullable reference type.
Cannot convert null literal to non-nullable reference type.
- Cannot resolve reference in XML comment
Cannot resolve reference in XML comment.
- Class overrides Object.Equals(object o) but not Object.GetHashCode()
Class overrides Object.Equals(object o) but not Object.GetHashCode().
- Code is unreachable
Code is unreachable.
- Collection expression may incur unexpected heap allocations
Collection expression may incur unexpected heap allocations.
- Collection expression may incur unexpected heap allocations due to the use of '..' spreads
Collection expression may incur unexpected heap allocations due to the use of '..' spreads.
- Comparing with null of nullable value type always produces 'false'
Comparing with null of nullable value type always produces 'false'.
- Comparison to integral constant is useless; the constant is outside the range of type 'type'.
Comparison to integral constant is useless; the constant is outside the range of type 'type'.
- Converting method group to non-delegate type 'object'.
Converting method group to non-delegate type 'object'.
- Converting null literal or possible null value to non-nullable type.
Converting null literal or possible null value to non-nullable type.
- Declaring new protected member in sealed class is the same as declaring it as private
Declaring new protected member in sealed class is the same as declaring it as private.
- Default value specified for parameter will have no effect because it applies to a member that is used in contexts that do not allow optional arguments
Default value specified for parameter will have no effect because it applies to a member that is used in contexts that do not allow optional arguments.
- Dereference of a possibly null reference.
Dereference of a possibly null reference.
- Duplicate param tag in XML comment
Duplicate param tag in XML comment.
- Duplicate typeparam tag in XML comment
Duplicate typeparam tag in XML comment.
- Empty switch block
Empty switch block.
- Field is never used
Field is never used.
- Filter expression is a constant, consider removing the filter
Filter expression is a constant, consider removing the filter.
- Given expression always matches the provided pattern
Given expression always matches the provided pattern.
- Given expression is always of the provided type
Given expression is always of the provided type.
- Given expression is never of the provided type
Given expression is never of the provided type.
- In language version preview, the 'field' keyword binds to a synthesized backing field for the property
In language version preview, the 'field' keyword binds to a synthesized backing field for the property.
- Incorrect signature in XML comment
Incorrect signature in XML comment.
- Inline array 'Slice' method will not be used for element access expression.
Inline array 'Slice' method will not be used for element access expression.
- Inline array conversion operator will not be used for conversion from expression of the declaring type.
Inline array conversion operator will not be used for conversion from expression of the declaring type.
- Inline array indexer will not be used for element access expression.
Inline array indexer will not be used for element access expression.
- Introducing a 'Finalize' method can interfere with destructor invocation
Introducing a 'Finalize' method can interfere with destructor invocation.
- Invalid XML in XML comment
Invalid XML in XML comment.
- Invalid XML include element
Invalid XML include element.
- Keyword 'new' is redundant
Keyword 'new' is redundant.
- Keyword 'new' is required
Keyword 'new' is required.
- Member cannot be used in this attribute.
Member cannot be used in this attribute.
- Member must conditionally have a non-null value when exiting a function.
Member must conditionally have a non-null value when exiting a function.
- Member must have a non-null value when exiting.
Member must have a non-null value when exiting.
- Member overrides obsolete member
Member overrides obsolete member.
- Method lacks '[DoesNotReturn]' annotation in order to match implemented or overridden member.
Method lacks '[DoesNotReturn]' annotation in order to match implemented or overridden member.
- Missing XML comment for publicly visible type or member
Missing XML comment for publicly visible type or member.
- Multiple override candidates at run-time
Multiple override candidates at run-time.
- Multiple Shaders with the same name found
Multiple Shaders with the same name found.
- Namespace should be default namespace of this project
Namespace should be default namespace of this project.
- Non-accessed field
Non-accessed field.
- Non-accessed local variable
Non-accessed local variable.
- Non-nullable backing field is uninitialized.
Non-nullable backing field is uninitialized.
- Non-nullable member is uninitialized.
Non-nullable member is uninitialized.
- Nullability mismatch in constraints for type parameter.
Nullability mismatch in constraints for type parameter.
- Nullability of reference types in explicit interface specifier doesn't match interface implemented by the type.
Nullability of reference types in explicit interface specifier doesn't match interface implemented by the type.
- Nullability of reference types in interface implemented by the base type doesn't match.
Nullability of reference types in interface implemented by the base type doesn't match.
- Nullability of reference types in return type doesn't match implemented member.
Nullability of reference types in return type doesn't match implemented member.
- Nullability of reference types in return type doesn't match implicitly implemented member.
Nullability of reference types in return type doesn't match implicitly implemented member.
- Nullability of reference types in return type doesn't match overridden member.
Nullability of reference types in return type doesn't match overridden member.
- Nullability of reference types in return type doesn't match partial method declaration.
Nullability of reference types in return type doesn't match partial method declaration.
- Nullability of reference types in return type doesn't match the target delegate (possibly because of nullability attributes).
Nullability of reference types in return type doesn't match the target delegate (possibly because of nullability attributes).
- Nullability of reference types in return type in interceptor method doesn't match interceptable method'
Nullability of reference types in return type in interceptor method doesn't match interceptable method'.
- Nullability of reference types in source type doesn't match target type.
Nullability of reference types in source type doesn't match target type.
- Nullability of reference types in type doesn't match implemented member.
Nullability of reference types in type doesn't match implemented member.
- Nullability of reference types in type doesn't match implicitly implemented member.
Nullability of reference types in type doesn't match implicitly implemented member.
- Nullability of reference types in type doesn't match overridden member.
Nullability of reference types in type doesn't match overridden member.
- Nullability of reference types in type of a parameter doesn't match the target delegate (possibly because of nullability attributes).
Nullability of reference types in type of a parameter doesn't match the target delegate (possibly because of nullability attributes).
- Nullability of reference types in type of parameter doesn't match implemented member.
Nullability of reference types in type of parameter doesn't match implemented member.
- Nullability of reference types in type of parameter doesn't match implicitly implemented member.
Nullability of reference types in type of parameter doesn't match implicitly implemented member.
- Nullability of reference types in type of parameter doesn't match interceptable method
Nullability of reference types in type of parameter doesn't match interceptable method.
- Nullability of reference types in type of parameter doesn't match overridden member.
Nullability of reference types in type of parameter doesn't match overridden member.
- Nullability of reference types in type of parameter doesn't match partial member declaration.
Nullability of reference types in type of parameter doesn't match partial member declaration.
- Nullability of return type doesn't match implemented member (possibly because of nullability attributes).
Nullability of return type doesn't match implemented member (possibly because of nullability attributes).
- Nullability of return type doesn't match implicitly implemented member (possibly because of nullability attributes).
Nullability of return type doesn't match implicitly implemented member (possibly because of nullability attributes).
- Nullability of return type doesn't match overridden member (possibly because of nullability attributes).
Nullability of return type doesn't match overridden member (possibly because of nullability attributes).
- Nullability of type argument doesn't match 'class' constraint.
Nullability of type argument doesn't match 'class' constraint.
- Nullability of type argument doesn't match 'notnull' constraint.
Nullability of type argument doesn't match 'notnull' constraint.
- Nullability of type argument doesn't match constraint type.
Nullability of type argument doesn't match constraint type.
- Nullability of type of parameter doesn't match implemented member (possibly because of nullability attributes).
Nullability of type of parameter doesn't match implemented member (possibly because of nullability attributes).
- Nullability of type of parameter doesn't match implicitly implemented member (possibly because of nullability attributes).
Nullability of type of parameter doesn't match implicitly implemented member (possibly because of nullability attributes).
- Nullability of type of parameter doesn't match overridden member (possibly because of nullability attributes).
Nullability of type of parameter doesn't match overridden member (possibly because of nullability attributes).
- Nullable value type may be null.
Nullable value type may be null.
- Object or collection initializer implicitly dereferences possibly null member.
Object or collection initializer implicitly dereferences possibly null member.
- Obsolete member overrides non-obsolete member
Obsolete member overrides non-obsolete member.
- Obsolete members should not be required.
Obsolete members should not be required.
- Operator '==' or operator '!=' with 'Object.Equals(object o)' and 'Object.GetHashCode()' not overridden
Operator '==' or operator '!=' with 'Object.Equals(object o)' and 'Object.GetHashCode()' not overridden.
- Opt in to preview features before using them.
Opt in to preview features before using them.
- Parameter has no matching param tag in the XML comment
Parameter has no matching param tag in the XML comment.
- Parameter has params modifier in lambda but not in target delegate type.
Parameter has params modifier in lambda but not in target delegate type.
- Parameter is captured into the state of the enclosing type and its value is also passed to the base constructor. The value might be captured by the base class as well.
Parameter is captured into the state of the enclosing type and its value is also passed to the base constructor.
- Parameter is captured into the state of the enclosing type and its value is also used to initialize a field, property, or event.
Parameter is captured into the state of the enclosing type and its value is also used to initialize a field, property, or event.
- Parameter must conditionally have a non-null value when exiting a function.
Parameter must conditionally have a non-null value when exiting a function.
- Parameter must have a non-null value when exiting because parameter mentioned in [NotNullIfNotNull] annotation is non-null.
Parameter must have a non-null value when exiting because parameter mentioned in [NotNullIfNotNull] annotation is non-null.
- Parameter must have a non-null value when exiting.
Parameter must have a non-null value when exiting.
- Parameter occurs after interpolated string handler parameter in the parameter list.
Parameter occurs after interpolated string handler parameter in the parameter list.
- Partial member declarations have signature differences.
Partial member declarations have signature differences.
- Partial method declarations have inconsistent nullability for type parameter.
Partial method declarations have inconsistent nullability for type parameter.
- Possible mistaken empty statement
Possible mistaken empty statement.
- Possible null reference argument for a parameter.
Possible null reference argument for a parameter.
- Possible null reference assignment.
Possible null reference assignment.
- Possible null reference return.
Possible null reference return.
- Possible unintended reference comparison
Possible unintended reference comparison.
- Possibly incorrect assignment to local which is the argument to a 'using' or 'lock' statement
Possibly incorrect assignment to local which is the argument to a 'using' or 'lock' statement.
- Primary constructor parameter is shadowed by a member from base type.
Primary constructor parameter is shadowed by a member from base type.
- Record defined 'Equals' but not 'GetHashCode'
Record defined 'Equals' but not 'GetHashCode'.
- Reference kind modifier of parameter doesn't match the corresponding parameter in hidden member.
Reference kind modifier of parameter doesn't match the corresponding parameter in hidden member.
- Reference kind modifier of parameter doesn't match the corresponding parameter in overridden or implemented member.
Reference kind modifier of parameter doesn't match the corresponding parameter in overridden or implemented member.
- Reference kind modifier of parameter doesn't match the corresponding parameter in target.
Reference kind modifier of parameter doesn't match the corresponding parameter in target.
- Reference to a volatile field will not be treated as volatile
Reference to a volatile field will not be treated as volatile.
- Return value must be non-null because parameter mentioned in [NotNullIfNotNull] annotation is non-null.
Return value must be non-null because parameter mentioned in [NotNullIfNotNull] annotation is non-null.
- Signatures of interceptable and interceptor methods do not match
Signatures of interceptable and interceptor methods do not match.
- Source file has exceeded the limit of 16,707,565 lines representable in the PDB; debug information will be incorrect
Source file has exceeded the limit of 16,707,565 lines representable in the PDB; debug information will be incorrect.
- Static type in 'is' or 'as' operator.
Static type in 'is' or 'as' operator.
- Struct member returns 'this' or other instance members by reference.
Struct member returns 'this' or other instance members by reference.
- Syntax error in XML comment
Syntax error in XML comment.
- Taking address of marshal-by-reference class field
Taking address of marshal-by-reference class field.
- Template should be a static expression
Template should be a static expression.
- The '&' operator should not be used on parameters or local variables in async methods.
The '&' operator should not be used on parameters or local variables in async methods.
- The 'EnumeratorCancellation' attribute is only effective on a parameter of type 'CancellationToken' in an async-iterator method returning 'IAsyncEnumerable<>'.
The 'EnumeratorCancellation' attribute is only effective on a parameter of type 'CancellationToken' in an async-iterator method returning 'IAsyncEnumerable<>'.
- The 'l' suffix is easily confused with the digit '1'
The 'l' suffix is easily confused with the digit '1'.
- The 'Main' method will not be used as an entry point because compilation unit with top-level statements was found.
The 'Main' method will not be used as an entry point because compilation unit with top-level statements was found.
- The 'ref' modifier for an argument corresponding to 'in' parameter is equivalent to 'in'. Consider using 'in' instead.
The 'ref' modifier for an argument corresponding to 'in' parameter is equivalent to 'in'.
- The 'scoped' modifier of a parameter doesn't match target delegate.
The 'scoped' modifier of a parameter doesn't match target delegate.
- The 'scoped' modifier of parameter doesn't match overridden or implemented member.
The 'scoped' modifier of parameter doesn't match overridden or implemented member.
- The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
- The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. Auto-generated code requires an explicit '#nullable' directive in source.
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
- The branches of the ref conditional operator refer to variables with incompatible declaration scopes.
The branches of the ref conditional operator refer to variables with incompatible declaration scopes.
- The CallerArgumentExpressionAttribute applied to parameter will have no effect because it's self-referential
The CallerArgumentExpressionAttribute applied to parameter will have no effect because it's self-referential.
- The CallerArgumentExpressionAttribute is applied with an invalid parameter name.
The CallerArgumentExpressionAttribute is applied with an invalid parameter name.
- The CallerArgumentExpressionAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments
The CallerArgumentExpressionAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments.
- The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerFilePathAttribute
The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerFilePathAttribute.
- The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerLineNumberAttribute
The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerLineNumberAttribute.
- The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerMemberNameAttribute
The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerMemberNameAttribute.
- The CallerFilePathAttribute will have no effect; it is overridden by the CallerLineNumberAttribute
The CallerFilePathAttribute will have no effect; it is overridden by the CallerLineNumberAttribute.
- The CallerFilePathAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments
The CallerFilePathAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments.
- The CallerLineNumberAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments
The CallerLineNumberAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments.
- The CallerMemberNameAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments
The CallerMemberNameAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments.
- The CallerMemberNameAttribute will have no effect; it is overridden by the CallerFilePathAttribute
The CallerMemberNameAttribute will have no effect; it is overridden by the CallerFilePathAttribute.
- The CallerMemberNameAttribute will have no effect; it is overridden by the CallerLineNumberAttribute
The CallerMemberNameAttribute will have no effect; it is overridden by the CallerLineNumberAttribute.
- The default parameter value does not match in the target delegate type.
The default parameter value does not match in the target delegate type.
- The given expression always matches the provided constant.
The given expression always matches the provided constant.
- The given expression never matches the provided pattern.
The given expression never matches the provided pattern.
- The result of the expression is always 'null' of nullable type
The result of the expression is always 'null' of nullable type.
- The result of the expression is always 'true' or 'false' since a value of value type is never equal to 'null'
The result of the expression is always 'true' or 'false' since a value of value type is never equal to 'null'.
- The switch expression does not handle all possible inputs (it is not exhaustive).
The switch expression does not handle all possible inputs (it is not exhaustive).
- The switch expression does not handle all possible values of its input type (it is not exhaustive). However, a pattern with a 'when' clause might successfully match this value.
The switch expression does not handle all possible values of its input type (it is not exhaustive).
- The switch expression does not handle some null inputs (it is not exhaustive).
The switch expression does not handle some null inputs (it is not exhaustive).
- The switch expression does not handle some null inputs (it is not exhaustive). However, a pattern with a 'when' clause might successfully match this value.
The switch expression does not handle some null inputs (it is not exhaustive).
- The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value.
The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value.
- The tuple element name is ignored because a different name or no name is specified by the target type.
The tuple element name is ignored because a different name or no name is specified by the target type.
- The tuple element name is ignored because a different name or no name is specified on the other side of the tuple == or != operator.
The tuple element name is ignored because a different name or no name is specified on the other side of the tuple == or != operator.
- The type name only contains lower-cased ASCII characters. Such names may become reserved for the language
The type name only contains lower-cased ASCII characters.
- There is no defined ordering between fields in multiple declarations of partial struct. To specify an ordering, all instance fields must be in the same declaration.
There is no defined ordering between fields in multiple declarations of partial struct.
- This ref-assigns a value that can only escape the current method through a return statement.
This ref-assigns a value that can only escape the current method through a return statement.
- This ref-assigns a value that has a wider value escape scope than the target allowing assignment through the target of values with narrower escapes scopes.
This ref-assigns a value that has a wider value escape scope than the target allowing assignment through the target of values with narrower escapes scopes.
- This ref-assigns an expression to a variable with a narrower escape scope.
This ref-assigns an expression to a variable with a narrower escape scope.
- This returns a member of local by reference but it is not a ref local.
This returns a member of local by reference but it is not a ref local.
- This returns a parameter by reference but it is not a ref parameter.
This returns a parameter by reference but it is not a ref parameter.
- This returns a parameter by reference but it is scoped to the current method.
This returns a parameter by reference but it is scoped to the current method.
- This returns a parameter by reference through a ref parameter; but it can only safely be returned in a return statement.
This returns a parameter by reference through a ref parameter; but it can only safely be returned in a return statement.
- This returns by reference a member of parameter that is not a ref or out parameter.
This returns by reference a member of parameter that is not a ref or out parameter.
- This returns by reference a member of parameter that is scoped to the current method.
This returns by reference a member of parameter that is scoped to the current method.
- This returns by reference a member of parameter through a ref parameter; but it can only safely be returned in a return statement.
This returns by reference a member of parameter through a ref parameter; but it can only safely be returned in a return statement.
- This returns local by reference but it is not a ref local.
This returns local by reference but it is not a ref local.
- This takes the address of, gets the size of, or declares a pointer to a managed type.
This takes the address of, gets the size of, or declares a pointer to a managed type.
- Thrown value may be null.
Thrown value may be null.
- Type is already listed in the interface list with different nullability of reference types.
Type is already listed in the interface list with different nullability of reference types.
- Type is for evaluation purposes only and is subject to change or removal in future updates.
Type is for evaluation purposes only and is subject to change or removal in future updates.
- Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.
Type is for evaluation purposes only and is subject to change or removal in future updates.
- Type parameter has no matching typeparam tag in the XML comment
Type parameter has no matching typeparam tag in the XML comment.
- Type parameter has the same name as a type parameter from the outer type
Type parameter has the same name as a type parameter from the outer type.
- Types and aliases should not be named 'record'
Types and aliases should not be named 'record'.
- Unable to include XML fragment
Unable to include XML fragment.
- Unassigned field
Unassigned field.
- Unassigned readonly field
Unassigned readonly field.
- Unboxing a possibly null value.
Unboxing a possibly null value.
- Unresolved Shader name
Unresolved Shader name.
- Unused local variable
Unused local variable.
- Use of a variable in this context may expose referenced variables outside of their declaration scope.
Use of a variable in this context may expose referenced variables outside of their declaration scope.
- Use of obsolete symbol
Use of obsolete symbol.
- Use of obsolete symbol (without message)
Use of obsolete symbol (without message).
- Using 'is' to test compatibility with 'dynamic' is essentially identical to testing compatibility with 'Object' and will succeed for all non-null values
Using 'is' to test compatibility with 'dynamic' is essentially identical to testing compatibility with 'Object' and will succeed for all non-null values.
- XML comment has a 'param' tag for 'Parameter', but there is no parameter by that name
XML comment has a 'param' tag for 'Parameter', but there is no parameter by that name.
- XML comment has a 'typeparam' tag for 'TypeParameter', but there is no type parameter by that name
XML comment has a 'typeparam' tag for 'TypeParameter', but there is no type parameter by that name.
- XML comment has cref attribute that refers to a type parameter
XML comment has cref attribute that refers to a type parameter.
- XML comment is not placed on a valid language element
XML comment is not placed on a valid language element.