2010-05-06 3 views
2

Revit Structure API를위한 많은 애드 인을 생성합니다. 각 도구는 인터페이스 IExternalCommand를 구현하는 클래스를 habe해야합니다. REVIT의 최신 버전에서 C#에서 누락 된 특성을 기반으로 컴파일러 오류를 생성하는 방법은 무엇입니까?

, 당신의 도구를 해당 인터페이스를 구현하는 클래스에 두 개의 속성을 가질 필요가 작동하려면 :

[재생 (RegenerationOption.Manual)] [트랜잭션 (TransactionMode.Automatic) ]

대괄호 안의 값은 변경 될 수 있지만 값이 있어야합니다. 종종 나는 속성을 놓는 것을 잊어 버렸고 런타임이되면 충돌합니다. Visual Studio 2010에 컴파일러 경고 또는 오류를 추가 할 수있는 방법이 있습니까? 예를 들어, 클래스에서 해당 인터페이스를 구현할 경우 해당 2 개의 특성이 있어야합니다. 도움이된다면 나는 resharper를 가지고있다.

누구나 올바른 방향으로 나를 가리킬 수 있습니까?

+0

매우 밀접하게 관련 : http://stackoverflow.com/questions/19454/enforce-attribute-decoration-of-classes-methods – Aaronaught

+0

일종의,하지만 컴파일러 오류 후,이 코드는 단위 테스트 (여러 가지 이유로) – RodH257

답변

4

불행히도. (비록 Resharper에 대해 모르겠다.)

VS2010 Ultimate가있는 경우 사용자 지정 코드 분석 규칙을 작성할 수 있습니다.

2

컴파일 시간에는 아니지만 반영하기 쉽다고 생각합니다.

리플렉션을 사용하여 컴파일 된 어셈블리를 검사하고 지정된 인터페이스로 모든 클래스를 찾은 다음 해당 클래스의 특성을 확인하여 매우 친숙한 오류 메시지를 매우 빠르게 반환하는 별도의 프로그램을 제안합니다.

프로그램을 컴파일 한 후에도이 프로그램을 실행해야하지만 IDE에 따라 빌드 후 단계로 설정할 수 있습니다.