Type.IsPrimitiveImpl 方法
当在派生类中重写时,实现 IsPrimitive 属性并确定 Type 是否为基元类型之一。
**命名空间:**System
**程序集:**mscorlib(在 mscorlib.dll 中)
语法
声明
Protected MustOverride Function IsPrimitiveImpl As Boolean
用法
Dim returnValue As Boolean
returnValue = Me.IsPrimitiveImpl
protected abstract bool IsPrimitiveImpl ()
protected:
virtual bool IsPrimitiveImpl () abstract
protected abstract boolean IsPrimitiveImpl ()
protected abstract function IsPrimitiveImpl () : boolean
返回值
如果 Type 为基元类型之一,则为 true;否则为 false。
备注
基元类型是 Boolean、Byte、SByte、Int16、UInt16、Int32、UInt32、Int64、UInt64、Char、Double 和 Single。
示例
下面的示例确定给定的类型是否是基元类型,并显示结果。
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
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);
}
}
}
using namespace System;
using namespace System::Reflection;
public ref class MyTypeDelegatorClass: public TypeDelegator
{
public:
String^ myElementType;
private:
Type^ myType;
public:
MyTypeDelegatorClass( Type^ myType )
: TypeDelegator( myType )
{
this->myType = myType;
}
protected:
// Override the IsPrimitiveImpl.
virtual bool IsPrimitiveImpl() override
{
// Determine whether the type is a primitive type.
if ( myType->IsPrimitive )
{
myElementType = "primitive";
return true;
}
return false;
}
};
int main()
{
try
{
Console::WriteLine( "Determine whether int is a primitive type." );
MyTypeDelegatorClass^ myType;
myType = gcnew MyTypeDelegatorClass( int::typeid );
// Determine whether int is a primitive type.
if ( myType->IsPrimitive )
{
Console::WriteLine( "{0} is a primitive type.", int::typeid );
}
else
{
Console::WriteLine( "{0} is not a primitive type.", int::typeid );
}
Console::WriteLine( "\nDetermine whether String is a primitive type." );
myType = gcnew MyTypeDelegatorClass( String::typeid );
// Determine if String is a primitive type.
if ( myType->IsPrimitive )
{
Console::WriteLine( "{0} is a primitive type.", String::typeid );
}
else
{
Console::WriteLine( "{0} is not a primitive type.", String::typeid );
}
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception: {0}", e->Message );
}
}
import System.*;
import System.Reflection.*;
public class MyTypeDelegatorClass extends TypeDelegator
{
public String myElementType = null;
private Type myType = null;
public MyTypeDelegatorClass(Type myType)
{
super(myType);
this.myType = myType;
} //MyTypeDelegatorClass
// Override the IsPrimitiveImpl.
protected boolean IsPrimitiveImpl()
{
// Determine whether the type is a primitive type.
if (myType.get_IsPrimitive()) {
myElementType = "primitive";
return true;
}
return false;
} //IsPrimitiveImpl
} //MyTypeDelegatorClass
public class MyTypeDemoClass
{
public static void main(String[] args)
{
try {
Console.WriteLine("Determine whether int is a primitive type.");
MyTypeDelegatorClass myType;
myType = new MyTypeDelegatorClass(int.class.ToType());
// Determine whether int is a primitive type.
if (myType.get_IsPrimitive()) {
Console.WriteLine(int.class.ToType() + " is a primitive type.");
}
else {
Console.WriteLine(int.class.ToType()
+ " is not a primitive type.");
}
Console.WriteLine("\nDetermine whether string is a primitive type.");
myType = new MyTypeDelegatorClass(String.class.ToType());
// Determine if string is a primitive type.
if (myType.get_IsPrimitive()) {
Console.WriteLine(String.class.ToType()
+ " is a primitive type.");
}
else {
Console.WriteLine(String.class.ToType()
+ " is not a primitive type.");
}
}
catch (System.Exception e) {
Console.WriteLine("Exception: {0}", e.get_Message());
}
} //main
} //MyTypeDemoClass
平台
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
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0
请参见
参考
Type 类
Type 成员
System 命名空间
Boolean 结构
Byte 结构
SByte 结构
Int16 结构
UInt16
Int32 结构
UInt32
Int64 结构
UInt64
Char 结构
Double 结构
Single 结构
IsPrimitive