문제

VS2008을 사용하고 있으며 속성의 사용자 정의 속성을 기반으로 컴파일 시간 경고 / 오류를 만들고 싶습니다 (가능한 경우).

현재 나에게 관심있는 두 가지 사례가 있습니다.

  [MyAttribute (typeof(MyClass)]

MyClass가 인터페이스를 구현 해야하는 곳. 현재 나는 이것을 속성의 생성자로 주장하지만, 스택 추적의 특성으로 인해 추적하기 쉽지 않습니다.

 public MyAttribute (Type MyClassType)
    {
         System.Diagnostics.Debug.Assert(typeof(MyInterface).IsAssignableFrom(MyClassType),
                                         "Editor must implement interface: " + typeof(MyInterface).Name);

    }

나에게 관심이있는 두 번째 사례는 속성에 정의 된 유형이있는 곳입니다. 해당 유형이 인터페이스를 구현하면 다른 속성이없는 경우 경고를 표시해야합니다.

IE if (myclass.implements (someinterface) &&!

[MyAttribute(typeof(MyClass)] 
// Comment next line to generate warning
[Foo ("Bar")]

감사!

도움이 되었습니까?

해결책

당신은 그렇게 할 수 있습니다 포스트 쇼트.

한 번 해보고 어떻게하는지 설명했습니다. 여기

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top