This documentation is archived and is not being maintained.

Type.MakeArrayType Method (Int32)

Returns a Type object representing an array of the current type, with the specified number of dimensions.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

abstract MakeArrayType : 
        rank:int -> Type 
override MakeArrayType : 
        rank:int -> Type 

Parameters

rank
Type: System.Int32
The number of dimensions for the array. This number must be less than or equal to 32.

Return Value

Type: System.Type
An object representing an array of the current type, with the specified number of dimensions.

ExceptionCondition
IndexOutOfRangeException

rank is invalid. For example, 0 or negative.

NotSupportedException

The invoked method is not supported in the base class.

TypeLoadException

The current type is TypedReference.

-or-

The current type is a ByRef type. That is, Type.IsByRef returns true.

-or-

rank is greater than 32.

The MakeArrayType method provides a way to generate array types whose element types are computed at run time.

NoteNote

The common language runtime makes a distinction between vectors (that is, one-dimensional arrays that are always zero-based) and multidimensional arrays. A vector, which always has only one dimension, is not the same as a multidimensional array that happens to have only one dimension. You cannot use this method overload to create a vector type; if rank is 1, this method overload returns a multidimensional array type that happens to have one dimension. Use the MakeArrayType() method overload to create vector types.

The following code example creates array, ref (ByRef in Visual Basic), and pointer types for the Test class.

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: