Compartir vía


CA2257: Los miembros definidos en una interfaz con "DynamicInterfaceCastableImplementationAttribute" deben ser "static"

Propiedad Value
Identificador de la regla CA2257
Título Los miembros definidos en una interfaz con "DynamicInterfaceCastableImplementationAttribute" deben ser "static"
Categoría Uso
La corrección es problemática o no problemática Poco problemático
Habilitado de forma predeterminada en .NET 10 Como advertencia

Causa

Un miembro de interfaz no se implementa explícitamente ni se marca como static.

Descripción de la regla

Dado que un tipo que implementa IDynamicInterfaceCastable no puede implementar una interfaz dinámica en metadatos, es probable que se produzca un error en las llamadas a un miembro de interfaz de instancia que no sea una implementación explícita definida en este tipo en tiempo de ejecución. Para evitar errores en tiempo de ejecución, marque los nuevos miembros de la interfaz static.

Cómo corregir infracciones

Marque el miembro de la interfaz como static.

Example

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

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

Cuándo suprimir los errores

No suprima las advertencias de esta regla.

Vea también