[Obsolete] : 더 이상 사용하지 않는 코드라는 경고만 출력한다.
[Obsolete(string message)] : 더 이상 사용하지 않는다는 경고에 추가적인 메시지를 남길 수 있다. 이 메시지를 통해 더 이상 사용하지 않는 코드 대신에 사용할 코드를 사용자에게 알릴 수 있다.
[Obsolete(string message, bool error)] : 추가적인 로그와 함께 이 코드를 사용할 경우에 컴파일 에러를 띄울지를 결정한다. true를 넣어주면 컴파일 에러를 띄워서 이 코드를 사용하면 컴파일을 할 수 없게 된다.
class TestClass
{
[Obsolete]
public void Function1()
{
}
[Obsolete("Not use anymore.")]
public void Function2()
{
}
[Obsolete("Not use anymore.", true)]
public void Function3()
{
}
}
[Obsolete(string message)] 활용 코드
using System;
namespace BasicAttribute
{
class Myclass
{
[Obsolete("BadMethod는 폐기되었습니다. GoodMethod()를 이용하세요")]
public void BadMethod()
{
Console.WriteLine("I'm bad");
}
public void GoodMethod()
{
Console.WriteLine("I'm good");
}
}
class MainApp
{
static void Main(string[] args)
{
Myclass obj = new Myclass();
obj.BadMethod();
obj.GoodMethod();
}
}
}