내 프로젝트 중 하나에는 비디오 형식에 대한 사용자 지정 식별자 문자열을 나타내는 값 형식/구조체가 있습니다. 이 경우 콘텐츠 유형 문자열이 포함될 수 있지만 그 값은 다를 수 있습니다.사용자 지정 구조/형식의 공통 값 표시
전 구조체를 전달할 때 강하게 입력 할 수 있도록 구조체를 사용했으며 초기 문자열 값에 대해 몇 가지 온 전성 검사를 수행했습니다.
매우 일반적인 형식이 있으므로이 값을 정적 읽기 전용 필드로 기본값으로 표시했습니다.
public static readonly VideoFormat Unknown = new VideoFormat(string.Empty);
public static readonly VideoFormat JPEG = new VideoFormat("image/jpeg");
public static readonly VideoFormat H264 = new VideoFormat("video/h264");
공통 값을 정적 읽기 전용 필드 또는 속성 만 가져 오는 것이 더 좋습니까? 나중에 변경하려는 경우 어떻게해야합니까? NET Framework에서 두 가지 방법이 모두 사용되는 것을 볼 수 있습니다. System.Drawing.Color
은 정적 읽기 전용 속성을 사용하고 System.String
은 String.Empty
에 대한 정적 읽기 전용 필드가 있고 System.Int32
에는 MinValue
에 대한 const가 있습니다.
은 (대부분 this question에서하지만보다 구체적이고 직접적으로 관련된 질문을 복사.) 당신이 뭔가 결코 변화를 선언하지 않는 한
아마도 : [C# : Static readonly vs const] (http://stackoverflow.com/q/755685/588306), [C#에서 공개적으로 액세스 가능한 상수를 구현하는 가장 좋은 방법] (http://stackoverflow.com/ q/2889139/588306) – Deanna