Type.IsArrayImpl Method ()


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

When overridden in a derived class, implements the IsArray property and determines whether the Type is an array.

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

protected abstract bool IsArrayImpl()

Return Value

Type: System.Boolean

true if the Type is an array; otherwise, false.

An instance of the Array class must return false because it is an object, not an array.

The following example overrides the IsArrayImpl method in the MyTypeDelegator class, checks if a variable is an array, and displays the result.

using System;
using System.Reflection;
public class MyTypeDelegator : TypeDelegator
    public string myElementType = null;
    public Type myType;
    public MyTypeDelegator(Type myType) : base(myType)
        this.myType = myType;
    // Override IsArrayImpl().
    protected override bool IsArrayImpl()
        // Determine whether the type is an array.
            myElementType = "array";
            return true;
        // Return false if the type is not an array.
        return false;  
public class Type_IsArrayImpl
    public static void Main()
            int myInt = 0 ; 
            // Create an instance of an array element.
            int[] myArray = new int[5];
            MyTypeDelegator myType = new MyTypeDelegator(myArray.GetType());
            Console.WriteLine("\nDetermine whether the variable is an array.\n");
            // Determine whether myType is an array type.  
            if( myType.IsArray)
                Console.WriteLine("The type of myArray is {0}.", myType.myElementType);
                Console.WriteLine("myArray is not an array.");
            myType = new MyTypeDelegator(myInt.GetType());

            // Determine whether myType is an array type. 
            if( myType.IsArray)
                Console.WriteLine("The type of myInt is {0}.", myType.myElementType);
                Console.WriteLine("myInt is not an array.");
        catch( Exception e )
            Console.WriteLine("Exception: {0}", e.Message );

.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top