CA2257:在具有 “DynamicInterfaceCastableImplementationAttribute”的接口上定义的成员应为“static”
属性 | 值 |
---|---|
规则 ID | CA2257 |
标题 | 在具有“DynamicInterfaceCastableImplementationAttribute”的接口上定义的成员应为“static” |
类别 | 使用情况 |
修复是中断修复还是非中断修复 | 非中断 |
在 .NET 9 中默认启用 | 作为警告 |
原因
未显式实现接口成员或将其标记为 static
。
规则说明
由于实现 IDynamicInterfaceCastable
的类型可能未在元数据中实现动态接口,因此,如果调用一个实例接口成员,而该成员并非此类型上定义的显式实现,则可能会在运行时失败。 若要避免运行时错误,请将新接口成员标记为 static
。
如何解决冲突
将接口成员标记为 static
。
何时禁止显示错误
不禁止显示此规则发出的警告。