Share via


Type.IsPrimitiveImpl メソッド

派生クラスによってオーバーライドされるときに、 IsPrimitive プロパティを実装し、 Type がプリミティブ型の 1 つかどうかを判断します。

Protected MustOverride Function IsPrimitiveImpl() As Boolean
[C#]
protected abstract bool IsPrimitiveImpl();
[C++]
protected: virtual bool IsPrimitiveImpl() = 0;
[JScript]
protected abstract function IsPrimitiveImpl() : Boolean;

戻り値

Type がプリミティブ型の 1 つである場合は true 。それ以外の場合は false

解説

プリミティブ型には、 BooleanByteSByteInt16UInt16Int32UInt32Int64UInt64CharDouble 、および Single があります。

使用例

[Visual Basic, C#, C++] 指定された型がプリミティブ型かどうかを判断して結果を表示する例を次に示します。

 
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic
Public Class MyTypeDelegatorClass
    Inherits TypeDelegator
    Public myElementType As String = Nothing
    Private myType As Type = Nothing
    Public Sub New(ByVal myType As Type)
        MyBase.New(myType)
        Me.myType = myType
    End Sub 'New
    ' Override the IsPrimitiveImpl method.
    Protected Overrides Function IsPrimitiveImpl() As Boolean
        ' Determine whether the type is a primitive type.
        If myType.IsPrimitive Then
            myElementType = "primitive"
            Return True
        End If
        Return False
    End Function 'IsPrimitiveImpl
End Class 'MyTypeDelegatorClass
Public Class MyTypeDemoClass
    Public Shared Sub Main()
        Try
            Console.WriteLine("Determine whether int is a primitive type.")
            Dim myType As MyTypeDelegatorClass
            myType = New MyTypeDelegatorClass(GetType(Integer))
            ' Determine whether int is a primitive type.
            If myType.IsPrimitive Then
                Console.WriteLine(GetType(Integer).ToString() + " is a primitive type.")
            Else
                Console.WriteLine(GetType(Integer).ToString() + " is not a primitive type.")
            End If
            Console.WriteLine(ControlChars.NewLine + "Determine whether string is a primitive type.")
            myType = New MyTypeDelegatorClass(GetType(String))
            ' Determine whether string is a primitive type.
            If myType.IsPrimitive Then
                Console.WriteLine(GetType(String).ToString() + " is a primitive type.")
            Else
                Console.WriteLine(GetType(String).ToString() + " is not a primitive type.")
            End If
        Catch e As Exception
            Console.WriteLine("Exception: {0}", e.Message.ToString())
        End Try
    End Sub 'Main
End Class 'MyTypeDemoClass

[C#] 
using System;
using System.Reflection;
public class MyTypeDelegatorClass : TypeDelegator
{
    public string myElementType = null;
    private Type myType = null ; 
    public MyTypeDelegatorClass(Type myType) : base(myType)
    {
        this.myType = myType;
    }
    // Override the IsPrimitiveImpl.
    protected override bool IsPrimitiveImpl()
    {
        // Determine whether the type is a primitive type.
        if(myType.IsPrimitive)
        { 
            myElementType = "primitive";
            return true;
        }
        return false;
    }
}
public class MyTypeDemoClass
{
    public static void Main()
    {
        try
        {
            Console.WriteLine ("Determine whether int is a primitive type.");
            MyTypeDelegatorClass myType;
            myType = new MyTypeDelegatorClass(typeof(int));
            // Determine whether int is a primitive type.
            if( myType.IsPrimitive)
            {
                Console.WriteLine(typeof(int) + " is a primitive type.");
            }
            else
            {
                Console.WriteLine(typeof(int) + " is not a primitive type.");
            }
            Console.WriteLine ("\nDetermine whether string is a primitive type.");
            myType = new MyTypeDelegatorClass(typeof(string));
            // Determine if string is a primitive type.
            if( myType.IsPrimitive)
            {
                Console.WriteLine(typeof(string) + " is a primitive type.");
            }
            else
            {
                Console.WriteLine(typeof(string) + " is not a primitive type.");
            }
        }
        catch( Exception e )
        {
            Console.WriteLine("Exception: {0}", e.Message);
        }
    }
}

[C++] 
#using <mscorlib.dll>

using namespace System;
using namespace System::Reflection;

public __gc class MyTypeDelegatorClass : public TypeDelegator {
public:
   String* myElementType;
private:
   Type* myType;
public:
   MyTypeDelegatorClass(Type* myType) : TypeDelegator(myType) {
      this->myType = myType;
   }
   // Override the IsPrimitiveImpl.
protected:
   bool IsPrimitiveImpl() {
      // Determine whether the type is a primitive type.
      if (myType->IsPrimitive) {
         myElementType = S"primitive";
         return true;
      }
      return false;
   }
};

int main() {
   try {
      Console::WriteLine (S"Determine whether int is a primitive type.");
      MyTypeDelegatorClass* myType;
      myType = new MyTypeDelegatorClass(__typeof(int));
      // Determine whether int is a primitive type.
      if (myType->IsPrimitive) {
         Console::WriteLine(S"{0} is a primitive type.", __typeof(int));
      } else {
         Console::WriteLine(S"{0} is not a primitive type.", __typeof(int));
      }
      Console::WriteLine (S"\nDetermine whether String is a primitive type.");
      myType = new MyTypeDelegatorClass(__typeof(String));
      // Determine if String is a primitive type.
      if (myType->IsPrimitive) {
         Console::WriteLine(S"{0} is a primitive type.", __typeof(String));
      } else {
         Console::WriteLine(S"{0} is not a primitive type.", __typeof(String));
      }
   } catch (Exception* e) {
      Console::WriteLine(S"Exception: {0}", e->Message);
   }
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

Type クラス | Type メンバ | System 名前空間 | Boolean | Byte | SByte | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Char | Double | Single | IsPrimitive