Export (0) Print
Expand All
Expand Minimize

Type.IsArrayImpl Method

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. 
        if(myType.IsArray)
        {
            myElementType = "array";
            return true;
        }
        // Return false if the type is not an array. 
        return false;  
    }
}
public class Type_IsArrayImpl
{
    public static void Main()
    {
        try
        {
            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);
            else
                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);
            else
                Console.WriteLine("myInt is not an array.");
        }
        catch( Exception e )
        {
            Console.WriteLine("Exception: {0}", e.Message );
        }
    }
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft