CA2257: Members defined on an interface with the 'DynamicInterfaceCastableImplementationAttribute' should be 'static'
Property | Value |
---|---|
Rule ID | CA2257 |
Title | Members defined on an interface with the 'DynamicInterfaceCastableImplementationAttribute' should be 'static' |
Category | Usage |
Fix is breaking or non-breaking | Non-breaking |
Enabled by default in .NET 8 | As warning |
Cause
An interface member isn't explicitly implemented or marked static
.
Rule description
Since a type that implements IDynamicInterfaceCastable
may not implement a dynamic interface in metadata, calls to an instance interface member that is not an explicit implementation defined on this type are likely to fail at run time. To avoid run-time errors, mark new interface members static
.
How to fix violations
Mark the interface member static
.
When to suppress errors
Do not suppress a warning from this rule.
See also
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.