Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DataMember.cs
Go to the documentation of this file.
3
5
6internal sealed class DataMember
7{
8 private sealed class CriticalHelper
9 {
11
12 private string _name;
13
14 private int _order;
15
16 private bool _isRequired;
17
18 private bool _emitDefaultValue;
19
20 private bool _isNullable;
21
23
24 private readonly MemberInfo _memberInfo;
25
27
29
31
33
35
36 internal string Name
37 {
38 get
39 {
40 return _name;
41 }
42 set
43 {
44 _name = value;
45 }
46 }
47
48 internal int Order
49 {
50 get
51 {
52 return _order;
53 }
54 set
55 {
56 _order = value;
57 }
58 }
59
60 internal bool IsRequired
61 {
62 get
63 {
64 return _isRequired;
65 }
66 set
67 {
69 }
70 }
71
72 internal bool EmitDefaultValue
73 {
74 get
75 {
76 return _emitDefaultValue;
77 }
78 set
79 {
81 }
82 }
83
84 internal bool IsNullable
85 {
86 get
87 {
88 return _isNullable;
89 }
90 set
91 {
93 }
94 }
95
96 internal bool IsGetOnlyCollection
97 {
98 get
99 {
101 }
102 set
103 {
105 }
106 }
107
109 {
110 get
111 {
112 if (_memberType == null)
113 {
115 if (fieldInfo != null)
116 {
117 _memberType = fieldInfo.FieldType;
118 }
119 else
120 {
121 _memberType = ((PropertyInfo)MemberInfo).PropertyType;
122 }
123 }
124 return _memberType;
125 }
126 }
127
129 {
130 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
131 get
132 {
133 if (_memberTypeContract == null)
134 {
136 {
138 }
139 else
140 {
142 }
143 }
144 return _memberTypeContract;
145 }
146 set
147 {
149 }
150 }
151
153 {
154 get
155 {
157 }
158 set
159 {
161 }
162 }
163
165 {
166 get
167 {
168 return _conflictingMember;
169 }
170 set
171 {
173 }
174 }
175
177 {
178 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
179 get
180 {
182 {
184 }
186 }
187 }
188
195 }
196
197 private readonly CriticalHelper _helper;
198
200
202
204
205 public string Name
206 {
207 get
208 {
209 return _helper.Name;
210 }
211 set
212 {
214 }
215 }
216
217 public int Order
218 {
219 get
220 {
221 return _helper.Order;
222 }
223 set
224 {
226 }
227 }
228
229 public bool IsRequired
230 {
231 get
232 {
233 return _helper.IsRequired;
234 }
235 set
236 {
238 }
239 }
240
242 {
243 get
244 {
246 }
247 set
248 {
250 }
251 }
252
253 public bool IsNullable
254 {
255 get
256 {
257 return _helper.IsNullable;
258 }
259 set
260 {
262 }
263 }
264
266 {
267 get
268 {
270 }
271 set
272 {
274 }
275 }
276
278
280 {
281 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
282 get
283 {
285 }
286 }
287
289 {
290 [RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
291 get
292 {
294 }
295 }
296
298 {
299 get
300 {
302 }
303 set
304 {
306 }
307 }
308
310 {
311 get
312 {
314 }
315 set
316 {
318 }
319 }
320
322 {
323 get
324 {
325 if (_getter == null)
326 {
328 }
329 return _getter;
330 }
331 }
332
334 {
335 get
336 {
337 if (_setter == null)
338 {
340 }
341 return _setter;
342 }
343 }
344
349
351 {
354 if (fieldInfo != null)
355 {
357 }
358 PropertyInfo propertyInfo = (PropertyInfo)memberInfo;
359 MethodInfo getMethod = propertyInfo.GetMethod;
360 if (getMethod != null)
361 {
363 {
364 return !DataContract.IsTypeVisible(propertyInfo.PropertyType);
365 }
366 return true;
367 }
368 return false;
369 }
370
372 {
375 if (fieldInfo != null)
376 {
378 }
379 PropertyInfo propertyInfo = (PropertyInfo)memberInfo;
380 MethodInfo setMethod = propertyInfo.SetMethod;
381 if (setMethod != null)
382 {
384 {
385 return !DataContract.IsTypeVisible(propertyInfo.PropertyType);
386 }
387 return true;
388 }
389 return false;
390 }
391}
virtual ? MethodInfo GetMethod
virtual ? MethodInfo SetMethod
static bool FieldRequiresMemberAccess(FieldInfo field)
static int GetId(RuntimeTypeHandle typeHandle)
static DataContract GetDataContract(Type type)
static bool MethodRequiresMemberAccess(MethodInfo method)
static DataContract GetGetOnlyCollectionDataContract(int id, RuntimeTypeHandle typeHandle, Type type, SerializationMode mode)
FastInvokerBuilder.Setter Setter
FastInvokerBuilder.Getter Getter
FastInvokerBuilder.Setter _setter
FastInvokerBuilder.Getter _getter
PrimitiveDataContract MemberPrimitiveContract
static Setter CreateSetter(MemberInfo memberInfo)
static Getter CreateGetter(MemberInfo memberInfo)
static PrimitiveDataContract GetPrimitiveDataContract(Type type)
static readonly PrimitiveDataContract NullContract
virtual RuntimeTypeHandle TypeHandle
Definition Type.cs:286