Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ EmitType()

static void System.Reflection.Emit.CustomAttributeBuilder.EmitType ( BinaryWriter writer,
Type type )
inlinestaticprivate

Definition at line 223 of file CustomAttributeBuilder.cs.

224 {
225 if (type.IsPrimitive)
226 {
227 switch (Type.GetTypeCode(type))
228 {
229 case TypeCode.SByte:
230 writer.Write((byte)4);
231 break;
232 case TypeCode.Byte:
233 writer.Write((byte)5);
234 break;
235 case TypeCode.Char:
236 writer.Write((byte)3);
237 break;
238 case TypeCode.Boolean:
239 writer.Write((byte)2);
240 break;
241 case TypeCode.Int16:
242 writer.Write((byte)6);
243 break;
244 case TypeCode.UInt16:
245 writer.Write((byte)7);
246 break;
247 case TypeCode.Int32:
248 writer.Write((byte)8);
249 break;
250 case TypeCode.UInt32:
251 writer.Write((byte)9);
252 break;
253 case TypeCode.Int64:
254 writer.Write((byte)10);
255 break;
256 case TypeCode.UInt64:
257 writer.Write((byte)11);
258 break;
259 case TypeCode.Single:
260 writer.Write((byte)12);
261 break;
262 case TypeCode.Double:
263 writer.Write((byte)13);
264 break;
265 }
266 }
267 else if (type.IsEnum)
268 {
269 writer.Write((byte)85);
270 EmitString(writer, type.AssemblyQualifiedName);
271 }
272 else if (type == typeof(string))
273 {
274 writer.Write((byte)14);
275 }
276 else if (type == typeof(Type))
277 {
278 writer.Write((byte)80);
279 }
280 else if (type.IsArray)
281 {
282 writer.Write((byte)29);
283 EmitType(writer, type.GetElementType());
284 }
285 else
286 {
287 writer.Write((byte)81);
288 }
289 }
static void EmitType(BinaryWriter writer, Type type)
static void EmitString(BinaryWriter writer, string str)

References System.Reflection.Emit.CustomAttributeBuilder.EmitString(), System.Reflection.Emit.CustomAttributeBuilder.EmitType(), System.Type.GetTypeCode(), System.type, and System.writer.

Referenced by System.Reflection.Emit.CustomAttributeBuilder.CustomAttributeBuilder(), System.Reflection.Emit.CustomAttributeBuilder.EmitType(), and System.Reflection.Emit.CustomAttributeBuilder.EmitValue().