Share via


Obsolete(C# 프로그래밍 가이드)

업데이트: 2007년 11월

Obsolete 특성은 프로그램 엔터티를 계속 사용하지 않는 편이 좋은 것으로 표시합니다. 이 특성이 어떻게 구성되어 있는지에 따라 obsolete로 표시된 엔터티를 사용할 때마다 경고나 오류가 생성됩니다. 예를 들면 다음과 같습니다.

[System.Obsolete("use class B")]
class A
{
    public void Method() { }
}
class B
{
    [System.Obsolete("use NewMethod", true)]
    public void OldMethod()  { }
    public void NewMethod()  { }
}

이 예제에서 Obsolete 특성은 A 클래스와 B.OldMethod 메서드에 적용됩니다. B.OldMethod에 적용되는 특성 생성자의 두 번째 인수는 true로 설정되어 있으므로 이 메서드를 사용하면 컴파일러 오류가 발생하는 반면, A 클래스를 사용하면 경고만 생성됩니다. 그러나 B.NewMethod를 호출하면 경고나 오류가 생성되지 않습니다.

특성 생성자에 첫 번째 인수로 제공되는 문자열은 경고나 오류의 일부로 표시됩니다. 예를 들어, 다음 코드를 위 정의와 함께 사용하는 경우 두 개의 경고와 한 개의 오류가 생성됩니다.

// Generates 2 warnings:
A a = new A();
// Generate no errors or warnings:
B b = new B();
b.NewMethod();
// Generates an error, terminating compilation:
b.OldMethod();

A 클래스에 대해 클래스 참조의 선언 및 클래스 생성자와 관련하여 경고가 하나씩 생성됩니다.

Obsolete 특성은 인수 없이 사용할 수 있지만 해당 항목이 계속 사용되지 않는 이유와 대신 사용할 항목에 대한 정보를 포함하는 것이 좋습니다.

Obsolete 특성은 단일 사용 특성이며 특성이 허용되는 임의의 엔터티에 적용할 수 있습니다. Obsolete는 ObsoleteAttribute에 대한 별칭입니다.

참고 항목

개념

C# 프로그래밍 가이드

참조

리플렉션(C# 프로그래밍 가이드)

특성(C# 프로그래밍 가이드)

특성 대상 구체화(C# 프로그래밍 가이드)

사용자 지정 특성 만들기(C# 프로그래밍 가이드)

리플렉션을 사용하여 특성 액세스(C# 프로그래밍 가이드)

Attribute

System.Reflection