특정 메서드가 호출되면 컴파일 타임 오류를 만드는 방법이 있습니까?.NET 코드가 특정 메서드를 호출하지 못하게합니까?
예를 들어, 특정 프로젝트의 코드에서 System.Configuration.ConfigurationManager.AppSettings()를 호출하지 못하게하려고합니다. 해당 메서드가 호출되면 컴파일 시간 오류를 발생 시키려면 프로젝트 또는 클래스 파일에 태그를 지정하는 방법이 있습니까?
나는이 생각을하는 유일한 방법은 이러한 호출에 플래그를 지정하고 그런 식으로하는 FxCop 규칙을 생성하는 것이지만 다른 아이디어에 대해서는 개방적이라고 생각합니다.
.NET 3.5를 사용 중입니다. 4.0 코드 계약이 이것을 할 수 있는지 확실하지 않습니다.
업데이트
은 내가 특별히하지, 프레임 워크 방법에 대해 내 자신을 이야기하고, 그래서 나는 그들에게로 폐기를 표시 할 수 없습니다.
이 시점에서 나는 반사에 신경 쓰지 않습니다.
또 다른 예는 System.Web.HttpUtility.HtmlEncode로, Microsoft의 AntiXss 라이브러리를 찾아서 바꾸고 싶지만 새 코드를 확인하는 서버를 빌드 할 때 어떤 종류의 검사 프로세스를 통합하고 싶습니다. .
이 너무 반사를 통해이 메서드를 호출 허용 하시겠습니까 : 당신이) 필요하면 erated? – Vlad
자신의 어셈블리 였고 다시 컴파일 할 수있는 경우 Obsolete 특성을 사용할 수 있습니다. – asawyer
당신이 그것을 사용하기를 원하지 않는다면 왜 시작해야할까요? –