[C#] ObsoleteAttribute 특성을 사용하여, 사용안하는 메소드 표시
들어가며 |
프로그램을 설계하고 코딩하는 과정에서, 각 어플리케이션의 요소 (클래스, 메소드, 구조체 등등) 를 변경하는 과정은 자주 발생하게 됩니다. 협업하는 과정에서 즉시 수정이 가능하면 좋지만, 시간을 두고 천천히 제외 해야 할 요소라면, 작업자 간의 자연스러운 공유 및 수정을 유도하는 것도 하나의 방법인데요.
꼭 제외에만 초점을 맞춘다기 보다는 Framework 의 변경, 추가 Method 생성 등도 이유가 될 수 있을 겁니다.
이때 사용하기 좋은 특성 중 에 하나가 [Obsolete] 입니다.
▶ ObsoleteAttribute ◀ |
더 이상 사용하지 않거나, 그럴 예정인 어플리케이션 요소를 표시하는데 사용되는 특성이며,
[Obsolete] 특성 (Attribute)을 붙여주는 방식으로 사용하게 됩니다.
▶ 기본 형식 ◀ |
[Obsolete("사용안함", false)]
public bool TestMethods()
{
return true;
}
위와 같이 Method 나, Class 등등 어플리케이션 요소 상단에 [Obsolete] 특성을 기재하는 방식으로 사용하게 됩니다.
Obsolete 옵션으로 Message 와 IsError 컴파일 에러 여부를 선택할 수 있는 옵션으로 구성되어져 있으며,
true 로 선택할 경우, 컴파일시 Error을 발생하게 됩니다.
▶ 사용 예제 ◀ |
IsError false 일 경우, ~~~~ 표시로 사용자에게 경고만 되며, 컴파일은 정상적으로 진행됩니다.
반면, IsError true 일 경우, ~~~~ 붉은 색으로 표시되며 컴파일시 에러를 발생하게 됩니다.
▶ Obsolete의 어플리케이션 요소 ◀ |
[AttributeUsage(AttributeTargets.Class |
AttributeTargets.Struct |
AttributeTargets.Enum |
AttributeTargets.Constructor |
AttributeTargets.Method |
AttributeTargets.Property |
AttributeTargets.Field |
AttributeTargets.Event |
AttributeTargets.Interface |
AttributeTargets.Delegate, Inherited = false)]
Obsolete 특성은 AttributeTargets Enum을 기준으로 동작하며,
Assembly, Module, Parameter, ReturnValue, GenericParameter, All 을 제외한 요소에서 사용됩니다.
▶ 적용대상 ◀ |
참조 |
https://learn.microsoft.com/ko-kr/dotnet/api/system.obsoleteattribute?view=net-7.0
END
'Program Language > C#' 카테고리의 다른 글
[C#] C# List Shuffle 하는 방법, Random()으로 순서 섞기 (1) | 2024.01.22 |
---|---|
[C#] 문자열 서식, string.Format() 및 보간을 이용한 간격 맞추기 (1) | 2023.12.18 |
[C#] C#에서 TLS 1.2를 사용하도록 변경하기 (0) | 2023.03.24 |
[C#] 특정 소수점 이하 올림, 버림 처리하기 (0) | 2022.05.19 |
[C#] C#에서의 반올림, 올림, 버림 처리 (0) | 2022.05.18 |