Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Implementiert die IsValueType-Eigenschaft und bestimmt, ob Type ein Werttyp ist, also weder eine Klasse noch eine Schnittstelle.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Protected Overridable Function IsValueTypeImpl As Boolean
'Usage
Dim returnValue As Boolean
returnValue = Me.IsValueTypeImpl
protected virtual bool IsValueTypeImpl ()
protected:
virtual bool IsValueTypeImpl ()
protected boolean IsValueTypeImpl ()
protected function IsValueTypeImpl () : boolean
Rückgabewert
true, wenn Type ein Werttyp ist, andernfalls false.
Hinweise
Werttypen beschreiben Werte, die als Bitfolgen dargestellt werden. Klassen oder Schnittstellen sind keine Werttypen. In einigen Programmiersprachen werden solche Typen als "Struct" bezeichnet. Enumerationen sind Werttypen.
Beispiel
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic
Public Class MyTypeDelegator
Inherits TypeDelegator
Public myElementType As String = Nothing
Private myType As Type = Nothing
Public Sub New(myType As Type)
MyBase.New(myType)
Me.myType = myType
End Sub 'New
' Override the IsValueTypeImpl() method of the Type class.
Protected Overrides Function IsValueTypeImpl() As Boolean
' Determine whether the type is a value type.
If myType.IsValueType Then
myElementType = "value"
Return True
End If
' The type is not a value type.
Return False
End Function 'IsValueTypeImpl
End Class 'MyTypeDelegator
Public Class Type_IsValueTypeImpl
Public Class MyClass1
End Class 'MyClass1
Public Shared Sub Main()
Try
Dim myInt As Integer = 0
Dim myClass1 As New MyClass1()
Dim myType As New MyTypeDelegator(myInt.GetType())
Console.WriteLine(ControlChars.NewLine + "Determine whether a variable refers to a value type." + ControlChars.NewLine)
' Determine whether 'myType' is a value type.
If myType.IsValueType Then
Console.WriteLine(ControlChars.NewLine + "'myInt' is a {0} type.", myType.myElementType)
Else
Console.WriteLine(ControlChars.NewLine + "'myInt' is not a value type.")
End If
myType = New MyTypeDelegator(myClass1.GetType())
' Determine whether 'myType' is a value type.
If myType.IsValueType Then
Console.WriteLine(ControlChars.NewLine + "'myClass1' is a {0} type.", myType.myElementType)
Else
Console.WriteLine(ControlChars.NewLine + "'myClass1' is not a value type.")
End If
Catch e As Exception
Console.WriteLine(ControlChars.NewLine + "The following exception is raised:" + e.Message.ToString())
End Try
End Sub 'Main
End Class 'Type_IsValueTypeImpl
using System;
using System.Reflection;
public class MyTypeDelegator : TypeDelegator
{
public string myElementType = null;
private Type myType = null ;
public MyTypeDelegator(Type myType) : base(myType)
{
this.myType = myType;
}
// Override 'IsValueTypeImpl()' method of 'Type' class.
protected override bool IsValueTypeImpl()
{
// Determine whether the type is a value type.
if(myType.IsValueType)
{
myElementType = "value";
return true;
}
// The type is not value type.
return false;
}
}
public class Type_IsValueTypeImpl
{
public class MyClass
{
}
public static void Main()
{
try
{
int myInt = 0 ;
MyClass myClass = new MyClass ();
MyTypeDelegator myType = new MyTypeDelegator(myInt.GetType());
Console.WriteLine("\nCheck whether a variable refers to a value type.\n");
// Determine whether 'myType' is a value type.
if( myType.IsValueType)
Console.WriteLine("\n'myInt' is a {0} type.", myType.myElementType);
else
Console.WriteLine("\n'myInt' is not a value type.");
myType = new MyTypeDelegator(myClass.GetType());
// Determine whether 'myType' is a value type.
if( myType.IsValueType)
Console.WriteLine("\n'myClass' is a {0} type.", myType.myElementType);
else
Console.WriteLine("\n'myClass' is not a value type.");
}
catch( Exception e )
{
Console.WriteLine("\nThe following exception is raised:" +e.Message);
}
}
}
using namespace System;
using namespace System::Reflection;
public ref class MyTypeDelegator: public TypeDelegator
{
public:
String^ myElementType;
private:
Type^ myType;
public:
MyTypeDelegator( Type^ myType )
: TypeDelegator( myType )
{
this->myType = myType;
}
protected:
// Override 'IsValueTypeImpl()' method of 'Type' class.
virtual bool IsValueTypeImpl() override
{
// Determine whether the type is a value type.
if ( myType->IsValueType )
{
myElementType = "value";
return true;
}
// The type is not value type.
return false;
}
};
public ref class MyClass{};
int main()
{
try
{
int myInt = 0;
MyClass^ myClass = gcnew MyClass;
MyTypeDelegator^ myType = gcnew MyTypeDelegator( myInt.GetType() );
Console::WriteLine( "\nCheck whether a variable refers to a value type.\n" );
// Determine whether 'myType' is a value type.
if ( myType->IsValueType )
Console::WriteLine( "\n'myInt' is a {0} type.", myType->myElementType );
else
Console::WriteLine( "\n'myInt' is not a value type." );
myType = gcnew MyTypeDelegator( myClass->GetType() );
// Determine whether 'myType' is a value type.
if ( myType->IsValueType )
Console::WriteLine( "\n'myClass' is a {0} type.", myType->myElementType );
else
Console::WriteLine( "\n'myClass' is not a value type." );
}
catch ( Exception^ e )
{
Console::WriteLine( "\nThe following exception is raised: {0}", e->Message );
}
}
import System.*;
import System.Reflection.*;
public class MyTypeDelegator extends TypeDelegator
{
public String myElementType = null;
private Type myType = null;
public MyTypeDelegator(Type myType)
{
super(myType);
this.myType = myType;
} //MyTypeDelegator
// Override 'IsValueTypeImpl()' method of 'Type' class.
protected boolean IsValueTypeImpl()
{
// Determine whether the type is a value type.
if (myType.get_IsValueType()) {
myElementType = "value";
return true;
}
// The type is not value type.
return false;
} //IsValueTypeImpl
} //MyTypeDelegator
public class Type_IsValueTypeImpl
{
static public class MyClass
{
} //MyClass
public static void main(String[] args)
{
try {
int myInt = 0;
MyClass myClass = new MyClass();
MyTypeDelegator myType = new MyTypeDelegator(((System.
Int32)myInt).GetType());
Console.WriteLine("\nCheck whether a variable refers to"
+ " a value type.\n");
// Determine whether 'myType' is a value type.
if (myType.get_IsValueType()) {
Console.WriteLine("\n'myInt' is a {0} type.",
myType.myElementType);
}
else {
Console.WriteLine("\n'myInt' is not a value type.");
}
myType = new MyTypeDelegator(myClass.GetType());
// Determine whether 'myType' is a value type.
if (myType.get_IsValueType()) {
Console.WriteLine("\n'myClass' is a {0} type.",
myType.myElementType);
}
else {
Console.WriteLine("\n'myClass' is not a value type.");
}
}
catch (System.Exception e)
{
Console.WriteLine("\nThe following exception is raised:"
+ e.get_Message());
}
} //main
} //Type_IsValueTypeImpl
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
Type-Klasse
Type-Member
System-Namespace
TypeAttributes
IsClass
IsInterface
ValueType
IsValueType