wasSharpNET – Diff between revs 1 and 11
?pathlinks?
Rev 1 | Rev 11 | |||
---|---|---|---|---|
Line 62... | Line 62... | |||
62 | .Contains(@namespace, StringComparer.OrdinalIgnoreCase)) |
62 | .Contains(@namespace, StringComparer.OrdinalIgnoreCase)) |
|
63 | { |
63 | { |
|
64 | var getMethod = pi.GetGetMethod(); |
64 | var getMethod = pi.GetGetMethod(); |
|
65 | if (getMethod.ReturnType.IsArray) |
65 | if (getMethod.ReturnType.IsArray) |
|
66 | { |
66 | { |
|
67 | var array = (Array) getMethod.Invoke(@object, null); |
67 | var array = (Array)getMethod.Invoke(@object, null); |
|
68 | foreach (var sp in |
68 | foreach (var sp in |
|
69 | array.Cast<object>().SelectMany(element => wasGetProperties(element, @namespace))) |
69 | array.Cast<object>().SelectMany(element => wasGetProperties(element, @namespace))) |
|
70 | { |
70 | { |
|
71 | yield return sp; |
71 | yield return sp; |
|
72 | } |
72 | } |
|
Line 92... | Line 92... | |||
92 | /// <param name="object">the object to set the value on</param> |
92 | /// <param name="object">the object to set the value on</param> |
|
93 | /// <param name="value">the value to set</param> |
93 | /// <param name="value">the value to set</param> |
|
94 | public static void wasSetInfoValue<TK, TV>(TK info, ref TV @object, object value) |
94 | public static void wasSetInfoValue<TK, TV>(TK info, ref TV @object, object value) |
|
95 | { |
95 | { |
|
96 | object o = @object; |
96 | object o = @object; |
|
97 | var fi = (object) info as FieldInfo; |
97 | var fi = (object)info as FieldInfo; |
|
98 | if (fi != null) |
98 | if (fi != null) |
|
99 | { |
99 | { |
|
100 | fi.SetValue(o, value); |
100 | fi.SetValue(o, value); |
|
101 | @object = (TV) o; |
101 | @object = (TV)o; |
|
102 | return; |
102 | return; |
|
103 | } |
103 | } |
|
104 | var pi = (object) info as PropertyInfo; |
104 | var pi = (object)info as PropertyInfo; |
|
105 | if (pi != null) |
105 | if (pi != null) |
|
106 | { |
106 | { |
|
107 | pi.SetValue(o, value, null); |
107 | pi.SetValue(o, value, null); |
|
108 | @object = (TV) o; |
108 | @object = (TV)o; |
|
109 | } |
109 | } |
|
110 | } |
110 | } |
|
Line 111... | Line 111... | |||
111 | |
111 | |
|
112 | /////////////////////////////////////////////////////////////////////////// |
112 | /////////////////////////////////////////////////////////////////////////// |
|
Line 118... | Line 118... | |||
118 | /// <param name="info">either a FieldInfo or PropertyInfo</param> |
118 | /// <param name="info">either a FieldInfo or PropertyInfo</param> |
|
119 | /// <param name="value">the object to get from</param> |
119 | /// <param name="value">the object to get from</param> |
|
120 | /// <returns>the value of the field or property</returns> |
120 | /// <returns>the value of the field or property</returns> |
|
121 | public static object wasGetInfoValue<T>(T info, object value) |
121 | public static object wasGetInfoValue<T>(T info, object value) |
|
122 | { |
122 | { |
|
123 | var fi = (object) info as FieldInfo; |
123 | var fi = (object)info as FieldInfo; |
|
124 | if (fi != null) |
124 | if (fi != null) |
|
125 | { |
125 | { |
|
126 | return fi.GetValue(value); |
126 | return fi.GetValue(value); |
|
127 | } |
127 | } |
|
128 | var pi = (object) info as PropertyInfo; |
128 | var pi = (object)info as PropertyInfo; |
|
129 | if (pi != null) |
129 | if (pi != null) |
|
130 | { |
130 | { |
|
131 | if (pi.GetIndexParameters().Any()) |
131 | if (pi.GetIndexParameters().Any()) |
|
132 | { |
132 | { |
|
133 | return value; |
133 | return value; |
|
Line 135... | Line 135... | |||
135 | return pi.GetValue(value, null); |
135 | return pi.GetValue(value, null); |
|
136 | } |
136 | } |
|
137 | return null; |
137 | return null; |
|
138 | } |
138 | } |
|
139 | } |
139 | } |
|
140 | } |
- | ||
141 | |
140 | } |
|
- | 141 | |