Type.IsArrayImpl メソッド
定義
protected:
abstract bool IsArrayImpl();
protected abstract bool IsArrayImpl ();
abstract member IsArrayImpl : unit -> bool
Protected MustOverride Function IsArrayImpl () As Boolean
戻り値
true
が配列である場合は Type。それ以外の場合は false
。true
if the Type is an array; otherwise, false
.
例
次の例では、クラスのメソッドをオーバーライドし IsArrayImpl
MyTypeDelegator
、変数が配列であるかどうかを確認して、結果を表示します。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 );
}
}
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 );
}
}
}
Imports System.Reflection
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
' 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
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
End Class
注釈
クラスのインスタンスは、 Array 配列で false
はなくオブジェクトであるため、を返す必要があります。An instance of the Array class must return false
because it is an object, not an array.