다음을 통해 공유


CA2257: 'DynamicInterfaceCastableImplementationAttribute'가 있는 인터페이스에 정의된 멤버는 'static'이어야 합니다.

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

원인

인터페이스 멤버가 명시적으로 구현되거나 표시되지 static않습니다.

규칙 설명

구현 IDynamicInterfaceCastable 하는 형식이 메타데이터에서 동적 인터페이스를 구현하지 않을 수 있으므로 이 형식에 정의된 명시적 구현이 아닌 인스턴스 인터페이스 멤버에 대한 호출은 런타임에 실패할 수 있습니다. 런타임 오류를 방지하려면 새 인터페이스 멤버를 표시합니다 static.

위반 문제를 해결하는 방법

인터페이스 멤버 static를 표시합니다.

Example

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

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

오류를 억제해야 하는 경우

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

관련 항목 보기