class TestClass
{
[Obsolete]
public void Function1()
{
}
}
더 이상 사용하지 않거나 그럴 예정인 클래스나 함수, 변수의 앞에 [Obsolete] 어트리뷰트를 붙여주면 된다. 그렇게 하면 해당 함수를 호출할 때 초록색 밑줄과 함께 더 이상 사용하지 않는 함수라는 경고가 뜬다.
그리고 툴팁에서는 함수 앞에 [deprecated]가 붙게 된다.
이 [Obsolete]는 세 가지 방식의 오버로딩을 지원한다.
class TestClass
{
[Obsolete]
public void Function1()
{
}
[Obsolete("Not use anymore.")]
public void Function2()
{
}
[Obsolete("Not use anymore.", true)]
public void Function3()
{
}
}
[Obsolete] :: 더 이상 사용하지 않는 코드라는 경고만 출력한다.
[Obsolete(string message)] :: 더 이상 사용하지 않는다는 경고에 추가적인 메시지를 남길 수 있다. 이 메시지를 통해 더 이상 사용하지 않는 코드 대신에 사용할 코드를 사용자에게 알릴 수 있다.
[Obsolete(string message, bool error)] :: 추가적인 로그와 함께 이 코드를 사용할 경우에 컴파일 에러를 띄울지를 결정한다. true를 넣어주면 컴파일 에러를 띄워서 이 코드를 사용하면 컴파일을 할 수 없게 된다.
이런 식으로 [Obsolete]를 적절하게 사용하면 베이스 작업자는 코드 작업만으로 다른 작업자에게 코드가 변경되었음을 알림과 동시에 그에 대한 해결책도 전해줄 수 있다. 베이스 작업자가 코드를 변경하고 다른 작업자에게 변경사항을 일일이 알리는 것보다 훨씬 빠르고 효율적인 해결책이다.
출처: https://wergia.tistory.com/23 [베르의 프로그래밍 노트:티스토리]
'프로그래밍 언어 > C#' 카테고리의 다른 글
[C#] default와 new() 제약 조건 사용하기 (0) | 2024.12.16 |
---|---|
[C#] IsNullOrEmpty와 IsNullOrWhiteSpace의 차이점 (0) | 2024.11.10 |
[C#] 포인터 관련 unsafe fixed 키워드 (0) | 2024.05.23 |
[C#] Marshal (0) | 2024.05.22 |
[C#] 관리되는, 관리되지 않는 코드 (0) | 2024.05.22 |