■ ValueConverterAttribute 클래스를 사용하는 방법을 보여준다.
▶ 예제 코드 (C#)
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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
using System; using DevExpress.Xpo; using DevExpress.Xpo.Metadata; ... /// <summary> /// 일시↔문자열 값 변환자 /// </summary> public class DateTimeToStringValueConverter : ValueConverter { //////////////////////////////////////////////////////////////////////////////////////////////////// Property ////////////////////////////////////////////////////////////////////////////////////////// Public #region 저장소 타입 - StorageType /// <summary> /// 저장소 타입 /// </summary> public override Type StorageType { get { return typeof(string); } } #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Public #region 저장소 타입으로 변환하기 - ConvertToStorageType(value) /// <summary> /// 저장소 타입으로 변환하기 /// </summary> /// <param name="value">값</param> /// <returns>변환 값</returns> public override object ConvertToStorageType(object value) { return value.ToString(); } #endregion #region 저장소 타입에서 변환하기 - ConvertFromStorageType(value) /// <summary> /// 저장소 타입에서 변환하기 /// </summary> /// <param name="value">값</param> /// <returns>변환 값</returns> public override object ConvertFromStorageType(object value) { return Convert.ToDateTime(value); } #endregion } ... /// <summary> /// 사용자 /// </summary> public class User : XPObject { //////////////////////////////////////////////////////////////////////////////////////////////////// Field ////////////////////////////////////////////////////////////////////////////////////////// Private #region Field /// <summary> /// 로그인 ID /// </summary> private string loginID; /// <summary> /// 등록 일자 /// </summary> private DateTime registrationDate; #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Property ////////////////////////////////////////////////////////////////////////////////////////// Public #region 로그인 ID - LoginID /// <summary> /// 로그인 ID /// </summary> public string LoginID { get { return this.loginID; } set { SetPropertyValue<string>("LoginID", ref this.loginID, value); } } #endregion #region 등록 일자 - RegistrationDate /// <summary> /// 등록 일자 /// </summary> [ValueConverter(typeof(DateTimeToStringValueConverter))] public DateTime RegistrationDate { get { return this.registrationDate; } set { SetPropertyValue<DateTime>("RegistrationDate", ref this.registrationDate, value); } } #endregion } |