■ TypeDescriptionProvider 클래스를 사용해 객체를 생성하는 방법을 보여준다.
▶ 예제 코드 (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 |
using System; using System.ComponentModel; /// <summary> /// 데이터 항목 /// </summary> public class DataItem { //////////////////////////////////////////////////////////////////////////////////////////////////// Property ////////////////////////////////////////////////////////////////////////////////////////// Public #region 번호 - Number /// <summary> /// 번호 /// </summary> public int Number { get; set; } #endregion #region 소스 문자열 - Source /// <summary> /// 소스 문자열 /// </summary> public string Source { get; set; } #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public #region 생성자 - DataItem(number, source) /// <summary> /// 생성자 /// </summary> /// <param name="number">번호</param> /// <param name="source">소스 문자열</param> public DataItem(int number, string source) { Number = number; Source = source; } #endregion } DataItem dataItem = new DataItem(2, "Hi"); TypeDescriptionProvider typeDescriptionProvider = TypeDescriptor.AddAttributes(typeof(DataItem), new SerializableAttribute()); DataItem anotherDataItem = typeDescriptionProvider.CreateInstance ( null, typeof(DataItem), new Type[] { typeof(int), typeof(string) }, new object[] { 100, "Hello" } ) as DataItem; PropertyDescriptor propertyDescriptor = TypeDescriptor.CreateProperty ( anotherDataItem.GetType(), "Source", typeof(string), new DescriptionAttribute("New property") ); Console.WriteLine(propertyDescriptor.GetValue(anotherDataItem)); |