次の方法で共有


CA2257: 'DynamicInterfaceCastableImplementationAttribute' を持つインターフェイスで定義されたメンバーは 'static' である必要があります

プロパティ
ルール ID CA2257
Title 'DynamicInterfaceCastableImplementationAttribute' を持つインターフェイスで定義されたメンバーは 'static' である必要があります
[カテゴリ] 使用方法
修正が中断ありか中断なしか なし
.NET 10 で既定で有効 警告として

原因

インターフェイス メンバーが明示的で static で実装されていない (マークが付いていなす)。

規則の説明

IDynamicInterfaceCastableを実装する型はメタデータに動的インターフェイスを実装できない可能性があるため、この型で定義されている明示的な実装ではないインスタンス インターフェイス メンバーの呼び出しは実行時に失敗する可能性があります。 ランタイム エラーを回避するには、新しいインターフェイス メンバーを staticマークします。

違反の修正方法

インターフェイス メンバーに static のマークを付けます。

Example

[DynamicInterfaceCastableImplementation]
interface IExample
{
    // This method violates the rule.
    void BadMethod();

    // This method satisfies the rule.
    static void GoodMethod()
    {
        // ...
    }
}

どのようなときにエラーを抑制するか

この規則による警告は抑制しないでください。

こちらもご覧ください