■ RepositoryItemRadioGroup 클래스의 AddEnum<T> 메소드를 사용해 열거형 항목을 추가하는 방법을 보여준다.
▶ Day.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
namespace TestProject { /// <summary> /// 요일 /// </summary> public enum Day { /// <summary> /// 일요일 /// </summary> Sun = 1, /// <summary> /// 월요일 /// </summary> Mon = 2, /// <summary> /// 화요일 /// </summary> Tue = 3, /// <summary> /// 수요일 /// </summary> Wed = 4, /// <summary> /// 목요일 /// </summary> Thu = 5, /// <summary> /// 금요일 /// </summary> Fri = 6, /// <summary> /// 토요일 /// </summary> Sat = 7 } } |
▶ MainForm.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
using System; using DevExpress.XtraEditors; namespace TestProject { /// <summary> /// 메인 폼 /// </summary> public partial class MainForm : XtraForm { //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public #region 생성자 - MainForm() /// <summary> /// 생성자 /// </summary> public MainForm() { InitializeComponent(); this.radioGroup.Properties.AddEnum<Day>(new Converter<Day, string>(GetDayString)); this.radioGroup.SelectedIndex = 1; } #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Private #region 요일 문자열 구하기 - GetDayString(day) /// <summary> /// 요일 문자열 구하기 /// </summary> /// <param name="day">요일</param> /// <returns>요일 문자열</returns> private string GetDayString(Day day) { Type type = day.GetType(); Type underlyingType = Enum.GetUnderlyingType(type); string result = Convert.ChangeType(day, underlyingType).ToString() + ". " + day.ToString(); if(day == Day.Sat || day == Day.Sun) { result += " (weekend)"; } return result; } #endregion } } |