Бөлісу құралы:


CA2257: элементы, определенные в интерфейсе с параметром DynamicInterfaceCastableImplementationAttribute, должны быть статическими.

Свойство Значение
Идентификатор правила CA2257
Заголовок Элементы, определенные в интерфейсе с параметром DynamicInterfaceCastableImplementationAttribute, должны быть статическими.
Категория Использование
Исправление является критическим или не критическим Не критическое
Включен по умолчанию в .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()
    {
        // ...
    }
}

Когда следует подавлять ошибки

Для этого правила отключать вывод предупреждений не следует.

См. также