Compartir vía


CA2256: Todos los miembros declarados en interfaces primarias deben tener una implementación en una interfaz con atributos DynamicInterfaceCastableImplementation

Propiedad Value
Identificador de la regla CA2256
Título Todos los miembros declarados en interfaces primarias deben tener una implementación en una interfaz con atributos DynamicInterfaceCastableImplementation
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

Una interfaz con DynamicInterfaceCastableImplementationAttribute tiene un miembro no implementado.

Descripción de la regla

Los tipos con el atributo DynamicInterfaceCastableImplementationAttribute actúan como una implementación de interfaz para un tipo que implementa el tipo IDynamicInterfaceCastable. Como resultado, debe proporcionar una implementación de todos los miembros definidos en las interfaces heredadas, ya que el tipo que implementa IDynamicInterfaceCastable no los proporcionará de otro modo.

Cómo corregir infracciones

Implemente los miembros de la interfaz que faltan.

Example

interface IParent
{
    void ParentMethod();
}

// This interface violates the rule.
[DynamicInterfaceCastableImplementation]
interface IBadChild : IParent
{
    static void ChildMethod()
    {
        // ...
    }
}

// This interface satisfies the rule.
[DynamicInterfaceCastableImplementation]
interface IGoodChild : IParent
{
    static void ChildMethod()
    {
        // ...
    }

    void IParent.ParentMethod()
    {
        // ...
    }
}

Cuándo suprimir los errores

No suprima las advertencias de esta regla.

Vea también