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

◆ CreateInstance() [5/6]

static unsafe Array System.Array.CreateInstance ( Type elementType,
params int[] lengths )
inlinestatic

Definition at line 546 of file Array.cs.

547 {
548 if ((object)elementType == null)
549 {
550 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.elementType);
551 }
552 if (lengths == null)
553 {
554 ThrowHelper.ThrowArgumentNullException(ExceptionArgument.lengths);
555 }
556 if (lengths.Length == 0)
557 {
558 ThrowHelper.ThrowArgumentException(ExceptionResource.Arg_NeedAtLeast1Rank);
559 }
560 RuntimeType runtimeType = elementType.UnderlyingSystemType as RuntimeType;
561 if (runtimeType == null)
562 {
563 ThrowHelper.ThrowArgumentException(ExceptionResource.Arg_MustBeType, ExceptionArgument.elementType);
564 }
565 for (int i = 0; i < lengths.Length; i++)
566 {
567 if (lengths[i] < 0)
568 {
569 ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument.lengths, i, ExceptionResource.ArgumentOutOfRange_NeedNonNegNum);
570 }
571 }
572 fixed (int* pLengths = &lengths[0])
573 {
574 return InternalCreate((void*)runtimeType.TypeHandle.Value, lengths.Length, pLengths, null);
575 }
576 }
static unsafe Array InternalCreate(void *elementType, int rank, int *pLengths, int *pLowerBounds)

References System.elementType, System.Array.InternalCreate(), System.lengths, System.ThrowHelper.ThrowArgumentException(), System.ThrowHelper.ThrowArgumentNullException(), and System.ThrowHelper.ThrowArgumentOutOfRangeException().