CA2257:在具有 “DynamicInterfaceCastableImplementationAttribute”的接口上定义的成员应为“static”

属性
规则 ID CA2257
标题 在具有“DynamicInterfaceCastableImplementationAttribute”的接口上定义的成员应为“static”
类别 使用情况
修复是中断修复还是非中断修复 非中断
在 .NET 8 中默认启用 作为警告

原因

未显式实现接口成员或将其标记为 static

规则说明

由于实现 IDynamicInterfaceCastable 的类型可能未在元数据中实现动态接口,因此,如果调用一个实例接口成员,而该成员并非此类型上定义的显式实现,则可能会在运行时失败。 若要避免运行时错误,请将新接口成员标记为 static

如何解决冲突

将接口成员标记为 static

何时禁止显示错误

不禁止显示此规则发出的警告。

另请参阅