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

◆ FindTypeCode()

System.Resources.ResourceTypeCode System.Resources.ResourceWriter.FindTypeCode ( object value,
List< string > types )
inlineprivate

Definition at line 332 of file ResourceWriter.cs.

333 {
334 if (value == null)
335 {
336 return System.Resources.ResourceTypeCode.Null;
337 }
338 Type type = value.GetType();
339 if (type == typeof(string))
340 {
341 return System.Resources.ResourceTypeCode.String;
342 }
343 if (type == typeof(int))
344 {
345 return System.Resources.ResourceTypeCode.Int32;
346 }
347 if (type == typeof(bool))
348 {
349 return System.Resources.ResourceTypeCode.Boolean;
350 }
351 if (type == typeof(char))
352 {
353 return System.Resources.ResourceTypeCode.Char;
354 }
355 if (type == typeof(byte))
356 {
357 return System.Resources.ResourceTypeCode.Byte;
358 }
359 if (type == typeof(sbyte))
360 {
361 return System.Resources.ResourceTypeCode.SByte;
362 }
363 if (type == typeof(short))
364 {
365 return System.Resources.ResourceTypeCode.Int16;
366 }
367 if (type == typeof(long))
368 {
369 return System.Resources.ResourceTypeCode.Int64;
370 }
371 if (type == typeof(ushort))
372 {
373 return System.Resources.ResourceTypeCode.UInt16;
374 }
375 if (type == typeof(uint))
376 {
377 return System.Resources.ResourceTypeCode.UInt32;
378 }
379 if (type == typeof(ulong))
380 {
381 return System.Resources.ResourceTypeCode.UInt64;
382 }
383 if (type == typeof(float))
384 {
385 return System.Resources.ResourceTypeCode.Single;
386 }
387 if (type == typeof(double))
388 {
389 return System.Resources.ResourceTypeCode.Double;
390 }
391 if (type == typeof(decimal))
392 {
393 return System.Resources.ResourceTypeCode.Decimal;
394 }
395 if (type == typeof(DateTime))
396 {
397 return System.Resources.ResourceTypeCode.DateTime;
398 }
399 if (type == typeof(TimeSpan))
400 {
401 return System.Resources.ResourceTypeCode.TimeSpan;
402 }
403 if (type == typeof(byte[]))
404 {
405 return System.Resources.ResourceTypeCode.ByteArray;
406 }
407 if (type == typeof(StreamWrapper))
408 {
409 return System.Resources.ResourceTypeCode.Stream;
410 }
411 if (type == typeof(PrecannedResource))
412 {
413 string typeName = ((PrecannedResource)value).TypeName;
414 if (typeName.StartsWith("ResourceTypeCode.", StringComparison.Ordinal))
415 {
416 typeName = typeName.Substring(17);
417 return (System.Resources.ResourceTypeCode)Enum.Parse(typeof(System.Resources.ResourceTypeCode), typeName);
418 }
419 int num = types.IndexOf(typeName);
420 if (num == -1)
421 {
422 num = types.Count;
423 types.Add(typeName);
424 }
425 return (System.Resources.ResourceTypeCode)(num + 64);
426 }
427 throw new PlatformNotSupportedException(System.SR.NotSupported_BinarySerializedResources);
428 }
void Add(TKey key, TValue value)
static string NotSupported_BinarySerializedResources
Definition SR.cs:20
Definition SR.cs:7

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Type.GetType(), System.SR.NotSupported_BinarySerializedResources, System.Enum.Parse(), System.type, and System.value.

Referenced by System.Resources.ResourceWriter.Generate().