◆ C# 에서 C의 #define 처럼 선언하기
C#에서는 #define 키워드를 제공하지 않습니다. 처음 C#을 접했을 때 define 이 없어 모두 전역변수로 선언해서 사용하기도 했습니다. 그 후 readonly 를 사용하게 되었지만 여전히 뭔가가 허전하였습니다.
그러는 와중에 Properties 의 Resource기능의 알게 되었습니다.
[솔루션 탐색기] => [Properties] 에서 [리소스]탭을 선택하면 사용할 수 있습니다.
MAX_TCU_COUNT를 5로 선언한 예입니다.
◆ 선언한 이름 사용하기
String strTemp = MAX_TCU_COUNT; //처럼 사용할 수 없습니다.
String strTemp = Properties.Resources.MAX_TCU_COUNT; //처럼 사용해야 합니다.
Integer 로 변환해서 사용하려면 다음과 같이 사용하면 됩니다.
Int iTemp = Convert.ToInt32(Properties.Resources.MAX_TCU_COUNT);
즉, define 기능을 리소스에 포함하여 사용하게 되는데 문자열이 많은 경우에 유용합니다. 특히 언어를 변경할 때 매우 유용합니다. 예를 들어 한국어로 제작된 프로그램을 영어로 변환할 때 리소스 문자열만 변경해주면 해결됩니다.
리소스에는 문자열 뿐 아니라 이미지, 아이콘, 오디오, 파일 등 여러 가지 포맷을 지원합니다.