qin
2025-03-14 185565a8eb30c0546746aad52aac0926d395a76d
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
namespace Yw.WinFrmUI
{
    /// <summary>
    /// 
    /// </summary>
    public class DictionaryPropertyDescriptor : PropertyDescriptor
    {
        /// <summary>
        /// 
        /// </summary>
        public DictionaryPropertyDescriptor(IDictionary d, object key) : base(key.ToString(), null)
        {
            _dictionary = d;
            _key = key;
        }
 
        private IDictionary _dictionary;
        private object _key;
 
        /// <summary>
        /// 
        /// </summary>
        public override Type PropertyType
        {
            get
            {
                var value = _dictionary[_key];
                if (value == null)
                {
                    return typeof(string);
                }
                return value.GetType();
            }
        }
 
        /// <summary>
        /// 
        /// </summary>
        public override void SetValue(object component, object value)
        {
            _dictionary[_key] = value;
        }
 
        /// <summary>
        /// 
        /// </summary>
        public override object GetValue(object component)
        {
            return _dictionary[_key];
        }
 
        /// <summary>
        /// 
        /// </summary>
        public override bool IsReadOnly
        {
            get { return false; }
        }
 
        /// <summary>
        /// 
        /// </summary>
        public override Type ComponentType
        {
            get { return null; }
        }
 
        /// <summary>
        /// 
        /// </summary>
        public override bool CanResetValue(object component)
        {
            return false;
        }
 
        /// <summary>
        /// 
        /// </summary>
        public override void ResetValue(object component)
        {
 
        }
 
        /// <summary>
        /// 
        /// </summary>
        public override bool ShouldSerializeValue(object component)
        {
            return false;
        }
 
 
    }
}