System.Diagnostics.CodeAnalysis Namespace

Contains classes for interaction with code analysis tools. These tools are used to analyze code for conformance to coding conventions such as naming or security rules.

Classes

AllowNullAttribute

Specifies that null is allowed as an input even if the corresponding type disallows it.

DisallowNullAttribute

Specifies that null is disallowed as an input even if the corresponding type allows it.

DoesNotReturnAttribute

Specifies that a method that will never return under any circumstance.

DoesNotReturnIfAttribute

Specifies that the method will not return if the associated Boolean parameter is passed the specified value.

DynamicallyAccessedMembersAttribute

Indicates that certain members on a specified Type are accessed dynamically, for example, through System.Reflection.

DynamicDependencyAttribute

States a dependency that one member has on another.

ExcludeFromCodeCoverageAttribute

Specifies that the attributed code should be excluded from code coverage information.

MaybeNullAttribute

Specifies that an output may be null even if the corresponding type disallows it.

MaybeNullWhenAttribute

Specifies that when a method returns ReturnValue, the parameter may be null even if the corresponding type disallows it.

MemberNotNullAttribute

Specifies that the method or property will ensure that the listed field and property members have values that aren't null.

MemberNotNullWhenAttribute

Specifies that the method or property will ensure that the listed field and property members have non-null values when returning with the specified return value condition.

NotNullAttribute

Specifies that an output is not null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.

NotNullIfNotNullAttribute

Specifies that the output will be non-null if the named parameter is non-null.

NotNullWhenAttribute

Specifies that when a method returns ReturnValue, the parameter will not be null even if the corresponding type allows it.

RequiresUnreferencedCodeAttribute

Indicates that the specified method requires dynamic access to code that is not referenced statically, for example, through System.Reflection.

SuppressMessageAttribute

Suppresses reporting of a specific static analysis tool rule violation, allowing multiple suppressions on a single code artifact. Does not apply to compiler diagnostics.

UnconditionalSuppressMessageAttribute

Suppresses reporting of a specific rule violation, allowing multiple suppressions on a single code artifact.

Enums

DynamicallyAccessedMemberTypes

Specifies the types of members that are dynamically accessed. This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.