Type.IsArrayImpl Method
When overridden in a derived class, implements the IsArray property and determines whether the Type is an array.
[Visual Basic] Protected MustOverride Function IsArrayImpl() As Boolean [C#] protected abstract bool IsArrayImpl(); [C++] protected: virtual bool IsArrayImpl() = 0; [JScript] protected abstract function IsArrayImpl() : Boolean;
Return Value
true if the Type is an array; otherwise, false.
Remarks
An instance of the Array class must return false because it is an object, not an array.
Example
[Visual Basic, C#, C++] The following example overrides the IsArrayImpl method in the MyTypeDelegator class, checks if a variable is an array, and displays the result.
[Visual Basic] Imports System Imports System.Reflection Imports Microsoft.VisualBasic Public Class MyTypeDelegator Inherits TypeDelegator Public myElementType As String = Nothing Public myType As Type Public Sub New(ByVal myType As Type) MyBase.New(myType) Me.myType = myType End Sub 'New ' Override IsArrayImpl(). Protected Overrides Function IsArrayImpl() As Boolean ' Determine whether the type is an array. If myType.IsArray Then myElementType = "array" Return True End If ' Return false if the type is not an array. Return False End Function 'IsArrayImpl End Class 'MyTypeDelegator Public Class Type_IsArrayImpl Public Shared Sub Main() Try Dim myInt As Integer = 0 ' Create an instance of an array element. Dim myArray(4) As Integer Dim myType As New MyTypeDelegator(myArray.GetType()) Console.WriteLine(ControlChars.NewLine + "Determine whether the variable is an array." + ControlChars.NewLine) ' Determine whether 'myType' is an array type. If myType.IsArray Then Console.WriteLine("The type of myArray is {0}.", myType.myElementType) Else Console.WriteLine("myArray is not an array.") End If myType = New MyTypeDelegator(myInt.GetType()) ' Determine whether myType is an array type. If myType.IsArray Then Console.WriteLine("The type of myInt is {0}.", myType.myElementType) Else Console.WriteLine("myInt is not an array.") End If Catch e As Exception Console.WriteLine("Exception: {0}", e.Message.ToString()) End Try End Sub 'Main End Class 'Type_IsArrayImpl [C#] 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 ); } } } [C++] #using <mscorlib.dll> using namespace System; using namespace System::Reflection; public __gc class MyTypeDelegator : public TypeDelegator { public: String* myElementType; public: Type* myType; public: MyTypeDelegator(Type* myType) : TypeDelegator(myType) { this->myType = myType; } // Override IsArrayImpl(). protected: bool IsArrayImpl() { // Determine whether the type is an array. if (myType->IsArray) { myElementType = S"array"; return true; } // Return false if the type is not an array. return false; } }; int main() { try { int myInt = 0 ; // Create an instance of an array element. Int32 myArray[] = new Int32[5]; MyTypeDelegator* myType = new MyTypeDelegator(myArray->GetType()); Console::WriteLine(S"\nDetermine whether the variable is an array.\n"); // Determine whether myType is an array type. if (myType->IsArray) Console::WriteLine(S"The type of myArray is {0}.", myType->myElementType); else Console::WriteLine(S"myArray is not an array."); myType = new MyTypeDelegator(__box(myInt)->GetType()); // Determine whether myType is an array type. if (myType->IsArray) Console::WriteLine(S"The type of myInt is {0}.", myType->myElementType); else Console::WriteLine(S"myInt is not an array."); } catch (Exception* e) { Console::WriteLine(S"Exception: {0}", e->Message); } }
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard