Type.IsArrayImpl Method
.NET Framework 2.0
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)
Assembly: mscorlib (in mscorlib.dll)
The following example overrides the IsArrayImpl method in the MyTypeDelegator class, checks if a variable is an array, and displays the result.
using namespace System; using namespace System::Reflection; public ref class MyTypeDelegator: public TypeDelegator { public: String^ myElementType; Type^ myType; MyTypeDelegator( Type^ myType ) : TypeDelegator( myType ) { this->myType = myType; } protected: // Override IsArrayImpl(). virtual bool IsArrayImpl() override { // 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; } }; int main() { try { int myInt = 0; // Create an instance of an array element. array<Int32>^myArray = gcnew array<Int32>(5); MyTypeDelegator^ myType = gcnew 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 = gcnew 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 ); } }
import System.*;
import System.Reflection.*;
public class MyTypeDelegator extends TypeDelegator
{
public String myElementType = null;
public Type myType;
public MyTypeDelegator(Type myType)
{
super(myType);
this.myType = myType;
} //MyTypeDelegator
// Override IsArrayImpl().
protected boolean IsArrayImpl()
{
// Determine whether the type is an array.
if (myType.get_IsArray()) {
myElementType = "array";
return true;
}
// Return false if the type is not an array.
return false;
} //IsArrayImpl
} //MyTypeDelegator
public class Type_IsArrayImpl
{
public static void main(String[] args)
{
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.get_IsArray()) {
Console.WriteLine("The type of myArray is {0}.", myType.
myElementType);
}
else {
Console.WriteLine("myArray is not an array.");
}
myType = new MyTypeDelegator(((System.Int32)myInt).GetType());
// Determine whether myType is an array type.
if (myType.get_IsArray()) {
Console.WriteLine("The type of myInt is {0}.", myType.
myElementType);
}
else {
Console.WriteLine("myInt is not an array.");
}
}
catch (System.Exception e) {
Console.WriteLine("Exception: {0}", e.get_Message());
}
} //main
} //Type_IsArrayImpl
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
Community Additions
ADD
Show: