CA2257: Členy definované v rozhraní s DynamicInterfaceCastableImplementationAttribute by měly být statické.

Vlastnost Hodnota
ID pravidla CA2257
Název Členy definované v rozhraní s dynamicInterfaceCastableImplementationAttribute by měly být statické.
Kategorie Využití
Oprava, která může být destruktivní nebo nedestruktivní Nezlomitelný
Povoleno ve výchozím nastavení v .NET 10 Jako upozornění
Příslušné jazyky C# a Visual Basic

Příčina

Člen rozhraní není explicitně implementován ani označen static.

Popis pravidla

Vzhledem k tomu, že typ, který implementuje IDynamicInterfaceCastable , nemusí implementovat dynamické rozhraní v metadatech, volání člena rozhraní instance, který není explicitní implementace definovaná na tomto typu, pravděpodobně selžou za běhu. Aby nedocházelo k chybám za běhu, označte nové členy rozhraní static.

Jak opravit porušení

Označte člen rozhraní static.

Example

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

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

Kdy potlačit chyby

Nepotlačujte upozornění na toto pravidlo.

Viz také