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

◆ ChangeType() [2/4]

static ? object System.Convert.ChangeType ( object? value,
Type conversionType,
IFormatProvider? provider )
inlinestatic

Definition at line 365 of file Convert.cs.

366 {
367 if ((object)conversionType == null)
368 {
369 throw new ArgumentNullException("conversionType");
370 }
371 if (value == null)
372 {
373 if (conversionType.IsValueType)
374 {
375 throw new InvalidCastException(SR.InvalidCast_CannotCastNullToValueType);
376 }
377 return null;
378 }
379 if (!(value is IConvertible convertible))
380 {
381 if (value.GetType() == conversionType)
382 {
383 return value;
384 }
385 throw new InvalidCastException(SR.InvalidCast_IConvertible);
386 }
387 if ((object)conversionType == ConvertTypes[3])
388 {
389 return convertible.ToBoolean(provider);
390 }
391 if ((object)conversionType == ConvertTypes[4])
392 {
393 return convertible.ToChar(provider);
394 }
395 if ((object)conversionType == ConvertTypes[5])
396 {
397 return convertible.ToSByte(provider);
398 }
399 if ((object)conversionType == ConvertTypes[6])
400 {
401 return convertible.ToByte(provider);
402 }
403 if ((object)conversionType == ConvertTypes[7])
404 {
405 return convertible.ToInt16(provider);
406 }
407 if ((object)conversionType == ConvertTypes[8])
408 {
409 return convertible.ToUInt16(provider);
410 }
411 if ((object)conversionType == ConvertTypes[9])
412 {
413 return convertible.ToInt32(provider);
414 }
415 if ((object)conversionType == ConvertTypes[10])
416 {
417 return convertible.ToUInt32(provider);
418 }
419 if ((object)conversionType == ConvertTypes[11])
420 {
421 return convertible.ToInt64(provider);
422 }
423 if ((object)conversionType == ConvertTypes[12])
424 {
425 return convertible.ToUInt64(provider);
426 }
427 if ((object)conversionType == ConvertTypes[13])
428 {
429 return convertible.ToSingle(provider);
430 }
431 if ((object)conversionType == ConvertTypes[14])
432 {
433 return convertible.ToDouble(provider);
434 }
435 if ((object)conversionType == ConvertTypes[15])
436 {
437 return convertible.ToDecimal(provider);
438 }
439 if ((object)conversionType == ConvertTypes[16])
440 {
441 return convertible.ToDateTime(provider);
442 }
443 if ((object)conversionType == ConvertTypes[18])
444 {
445 return convertible.ToString(provider);
446 }
447 if ((object)conversionType == ConvertTypes[1])
448 {
449 return value;
450 }
451 return convertible.ToType(conversionType, provider);
452 }
static readonly Type[] ConvertTypes
Definition Convert.cs:11

References System.Convert.ConvertTypes, System.SR.InvalidCast_CannotCastNullToValueType, System.SR.InvalidCast_IConvertible, System.Type.IsValueType, and System.value.