Udostępnij za pośrednictwem


CA2256: Wszystkie członkowie zadeklarowani w interfejsach nadrzędnych muszą mieć implementację w interfejsie z atrybutem DynamicInterfaceCastableImplementation

Właściwości Wartość
Identyfikator reguły CA2256
Tytuł Wszystkie elementy członkowskie zadeklarowane w interfejsach nadrzędnych muszą mieć implementację w interfejsie z atrybutem DynamicInterfaceCastableImplementation
Kategoria Użycie
Poprawka łamiąca lub nienaruszająca Niezgodność
Domyślnie włączone na platformie .NET 10 Jako ostrzeżenie
Zastosowane języki C# i Visual Basic

Przyczyna

Interfejs z DynamicInterfaceCastableImplementationAttribute ma niezaimplementowany członek.

Opis reguły

Typy oznaczone DynamicInterfaceCastableImplementationAttribute działają jako implementacja interfejsu dla typu implementującego IDynamicInterfaceCastable. W związku z tym musi zapewnić implementację wszystkich elementów członkowskich zdefiniowanych w odziedziczonych interfejsach, ponieważ typ implementujący IDynamicInterfaceCastable nie dostarczy ich w przeciwnym razie.

Jak naprawić naruszenia

Zaimplementuj brakujące członki interfejsu.

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()
    {
        // ...
    }
}

Kiedy tłumić błędy

Nie pomijaj ostrzeżeń dla tej reguły.

Zobacz też