[C#] 더 이상 사용되지 않거나 더 이상 사용되지 않는 방법을 표시하는 방법은 무엇입니까?

C #을 사용하여 메소드를 더 이상 사용되지 않거나 더 이상 사용되지 않는 것으로 표시하려면 어떻게합니까 ?



답변

가장 짧은 방법은 ObsoleteAttributeas 속성을 메소드 에 추가 하는 것 입니다. 적절한 설명을 포함해야합니다.

[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{  }

메소드가 다음과 같은 코드에서 호출되는 경우 메소드 사용을 경고 대신 오류 로 처리하여 컴파일이 실패하게 할 수도 있습니다 .

[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]


답변

경고와 함께 더 이상 사용되지 않는 것으로 표시하려면 :

[Obsolete]
private static void SomeMethod()

사용할 때 경고가 표시됩니다.

사용되지 않는 경고가 표시됩니다

그리고 IntelliSense와 함께 :

IntelliSense와 함께 사용되지 않는 경고

메시지를 원하는 경우 :

[Obsolete("My message")]
private static void SomeMethod()

IntelliSense 툴팁은 다음과 같습니다.

IntelliSense에서 사용되지 않는 메시지 표시

마지막으로 사용법을 오류로 표시하려면 다음을 수행하십시오.

[Obsolete("My message", true)]
private static void SomeMethod()

사용하면 다음과 같은 이점이 있습니다.

메소드 사용법이 오류로 표시됩니다

참고 : 메시지를 사용하여 사람들이 대신 사용해야하는 이유를 알려주십시오.


답변

keyword를 사용하여 메소드에 주석을 추가하십시오 Obsolete. 메시지 인수는 선택 사항이지만 항목이 더 이상 사용되지 않는 이유 및 / 또는 대신 사용할 항목을 알려주는 것이 좋습니다.
예:

[System.Obsolete("use myMethodB instead")]
void myMethodA()


답변

사용 ObsoleteAttribute되지 않는 메소드를 표시 할 수 있습니다. 사용되지 않는 속성에는 세 가지 생성자가 있습니다.

  1. [Obsolete]: 매개 변수 없음 생성자이며이 속성을 사용하는 기본값입니다.
  2. [Obsolete(string message)]:이 형식 message으로이 메소드가 더 이상 사용되지 않는 이유를 알 수 있습니다 .
  3. [Obsolete(string message, bool error)]:이 형식의 메시지는 매우 명시 적이지만 error컴파일 시간에 컴파일러에 오류가 표시되어 컴파일이 실패하는지 여부를 의미합니다.

여기에 이미지 설명을 입력하십시오


답변