다음을 통해 공유


CA2256: 부모 인터페이스에 선언된 모든 멤버는 DynamicInterfaceCastableImplementation 특성 인터페이스에 구현이 있어야 합니다.

속성
규칙 ID CA2256
제목 부모 인터페이스에 선언된 모든 멤버는 DynamicInterfaceCastableImplementation 특성이 있는 인터페이스에 구현이 있어야 합니다.
범주 사용 현황
수정 사항이 호환성을 깨뜨리는지 여부 또는 무중단인지 여부 주요 변경 아님
.NET 10에서 기본적으로 사용하도록 설정 경고로서
적용 가능한 언어 C# 및 Visual Basic

원인

인터페이스 DynamicInterfaceCastableImplementationAttribute 에는 구현되지 않은 멤버가 있습니다.

규칙 설명

DynamicInterfaceCastableImplementationAttribute로 특성이 부여된 형식은 IDynamicInterfaceCastable 형식을 구현하는 형식에 대한 인터페이스 구현으로 작동합니다. 따라서 IDynamicInterfaceCastable을(를) 구현하는 형식이 그렇지 않으면 상속된 인터페이스에 정의된 모든 멤버의 구현을 제공해야 합니다.

위반 문제를 해결하는 방법

누락된 인터페이스 멤버를 구현합니다.

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

오류를 억제해야 하는 경우

이 규칙에서 경고를 무시하지 마십시오.

관련 항목 보기