유형이 불변임을 지정하는 기본 제공 속성을 찾고 있는데, 발견 된 것은 System.ComponentModel.ImmutableObjectAttribute입니다.ImmutableObjectAttribute는 어떻게 사용됩니까?
리플렉터를 사용하여 어디에서 사용했는지 확인하고 사용하는 유일한 공용 클래스는 System.Drawing.Image ... WTF입니까? 문자열, int 또는 기본 유형 중 하나에서 사용될 수 있지만 Image는 이 아니고이 아니기 때문에 내부 상태를 변경할 수있는 방법이 많이 있습니다 (예 : Graphics 또는 Bitmap.SetPixel 메소드 사용).
따라서 불변으로 명시 적으로 선언 된 BCL의 유일한 클래스 인 은입니다. 또는 나는 무엇인가 놓치고 있냐? 이 개체의 속성은 개체 자체가 불변이라고 하지 폼 디자이너 또는 유사한 디자인 타임 UI에서 편집 할 수없는 것을 의미합니다 -
"객체 자체가 변경 가능하지 않음"- 문서에서이 속성이 "편집 할 수있는 하위 속성이 없음을 지정합니다"라고 지정합니다. 당신이 말하는 것은 문서와 모순되는 것 같습니다. 설명해 주시겠습니까? – MasterMastic
@Ken,이 속성은 객체가 Visual Studio의 폼 디자이너에서와 같은 * 속성 편집기 *를 사용할 때 * 편집 할 하위 속성이 없음을 의미합니다. 이러한 속성은이 속성과 관계없이 코드에서 설정하거나 수정할 수 있습니다. 현재 문서에 따르면 강조 속성은 다음과 같습니다. "이 특성은 확장 가능한 개체를 읽기 전용으로 렌더링할지 여부를 결정하기 위해 속성 창 *에서 일반적으로 사용됩니다 * 이와 같이이 속성은 디자인 타임에만 사용됩니다 *. " –