문제

I have read 트 디자인-시간 특성을 위한 구성 요소.내가 찾는라는 특성 CategoryAttribute.해당 페이지에 그것을 말한다

이 CategoryAttribute 클래스 정의는 다음과 같은 일반적인 카테고리:

다음 목록의 번호를 일반적인 범주가 있습니다.그 중 하나는 예를 들어 .고 생각했어요.음 사용 [Category.Appearance][Category("Appearance")]!하지만 분명히 나는 할 수 없었다?쓰려고 했지만,Intellisense 지 않을 선택 그리고 그것은 없을 컴파일.나는 뭔가요?었다 그것은 어쩌면 이 사람들 속성이 있었는가?하지 않을 경우,그 이유는 무엇입니까?면 그들은 어떻게 사용하나요?

그리고 그렇습니다,나는 올바른 using 액세스 권한을 갖 CategoryAttribute, 원인 [Category("Whatever")] 작동지 않습니다.지 정말 궁금 사용하는 방법에 정의된 일반적인 범주가 있습니다.

도움이 되었습니까?

해결책

당신이 볼 수 있듯이에 MSDN 의 게터 제공하지 않습니다.

public static CategoryAttribute Appearance { get; }

사실,여기에 무슨 코드가 다음과 같이 사용하는 반사체:

 public static CategoryAttribute Appearance
    {
        get
        {
            if (appearance == null)
            {
                appearance = new CategoryAttribute("Appearance");
            }
            return appearance;
        }
    }

그래서 그것을 실행하지 않습니다.

만 사용하여 내가 볼 수 있습니다,그것은 무언가 이것을 좋아한다:

            foreach (CategoryAttribute attrib in prop.GetCustomAttributes(typeof(CategoryAttribute), false))
            {
                bool result = attrib.Equals(CategoryAttribute.Appearance);
            }

기본적으로 사용하는 경우 반사하는 보 클래스에서,당신은 쉽게 확인할 수 있는 이 카테고리에 속하는 할 필요없이 문자열을 비교합니다.하지만 당신은 그것을 사용할 수 없는 방식으로 당신은 노력하고 있습니다.

다른 팁

정적 속성에 액세스를 통해 CategoryAttribute.모니다.하지만 특성 시스템에 허용하지 않는 당신을 호출하는 코드에서는 특성 선언하고 나는 생각한 것입니다 왜 그것을 컴파일한다.당신은 아마 정의[Category("외모")].

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