CA2257: Members defined on an interface with 'DynamicInterfaceCastableImplementationAttribute' should be 'static' - .NET (original) (raw)

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 9 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