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.

Exception Condition
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.

System_CAPS_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.

Universal Windows Platform
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Show: