C#idiomatic C#
ca1419fundamentals/code-analysis/quality-rules

Code analysis

CA1419: Provide a parameterless constructor that is as visible as the containing type for concrete types derived from 'System.Runtime.InteropServices.SafeHandle'

Learn about code analysis rule CA1419: Provide a parameterless constructor that is as visible as the containing type for concrete types derived from 'System.Runtime.InteropServices.SafeHandle'

CA1419 Interoperability enabled by default in .NET 10: As suggestion
Fix is breaking or non-breaking Non-breakingApplicable languages C# and Visual Basic

Cause

A concrete System.Runtime.InteropServices.SafeHandle type requires a parameterless constructor that is at least as visible as the containing type.

Rule description

Providing a public parameterless constructor for a type derived from System.Runtime.InteropServices.SafeHandle enables better performance and usage with source-generated interop solutions.

How to fix violations

Add a parameterless constructor to your type.

When to suppress warnings

Do not suppress a warning from this rule.

See also