Type.IsClass Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een waarde opgehaald die aangeeft of het Type een klasse of een gemachtigde is. Dat wil zeggen, geen waardetype of interface.
public:
property bool IsClass { bool get(); };
public bool IsClass { get; }
member this.IsClass : bool
Public ReadOnly Property IsClass As Boolean
Waarde van eigenschap
trueals de Type klasse een klasse is, anders. false
Implementeringen
Voorbeelden
In het volgende voorbeeld wordt een exemplaar van een type gemaakt en wordt aangegeven of het type een klasse is.
using System;
using System.Reflection;
public class MyDemoClass
{
}
public class MyTypeClass
{
public static void Main(string[] args)
{
try
{
Type myType = typeof(MyDemoClass);
// Get and display the 'IsClass' property of the 'MyDemoClass' instance.
Console.WriteLine("\nIs the specified type a class? {0}.", myType.IsClass);
}
catch(Exception e)
{
Console.WriteLine("\nAn exception occurred: {0}." ,e.Message);
}
}
}
type MyDemoClass = class end
try
let myType = typeof<MyDemoClass>
// Get and display the 'IsClass' property of the 'MyDemoClass' instance.
printfn $"\nIs the specified type a class? {myType.IsClass}."
with e ->
printfn $"\nAn exception occurred: {e.Message}."
Imports System.Reflection
Public Class MyDemoClass
End Class
Public Class MyTypeClass
Public Shared Sub Main()
Try
Dim myType As Type = GetType(MyDemoClass)
' Get and display the 'IsClass' property of the 'MyDemoClass' instance.
Console.WriteLine(ControlChars.Cr + "Is the specified type a class? {0}.", myType.IsClass.ToString())
Catch e As Exception
Console.WriteLine(ControlChars.Cr + "An exception occurred: {0}.", e.Message.ToString())
End Try
End Sub
End Class
Opmerkingen
Deze eigenschap retourneert true voor klassen en gemachtigden. Deze retourneert false voor waardetypen (voor structuren en opsommingen), zelfs als ze in een vak worden geplaatst.
Als de huidige Type een typeparameter vertegenwoordigt in de definitie van een algemeen type of algemene methode, retourneert truedeze eigenschap altijd . Als de huidige Type een geconstrueerd algemeen type vertegenwoordigt, geeft deze eigenschap als resultaat true als de algemene typedefinitie een klassedefinitie is. Dat wil gezegd, er wordt geen interface of een waardetype gedefinieerd.
Note
Deze eigenschap retourneert true voor Type exemplaren die de Enum en ValueType klassen vertegenwoordigen. Deze twee klassen zijn respectievelijk de basistypen voor opsommingen en waardetypen, maar ze zijn geen opsommingen of waardetypen zelf. Zie de eigenschappen IsValueType en IsEnum voor meer informatie.
De TypeAttributes.ClassSemanticsMask opsommingswaarde onderscheidt een typedeclaratie als klasse of interface. Beide klassen en waardetypen worden echter gemarkeerd met het TypeAttributes.Class kenmerk. Als u de waarde van de eigenschap Kenmerken van een type ophaalt en de TypeAttributes.ClassSemanticsMask waarde gebruikt om te bepalen of een type een klasse is in plaats van een waardetype, moet u ook de IsValueType eigenschap aanroepen. Het voorbeeld voor de TypeAttributes opsomming bevat aanvullende informatie en een voorbeeld.
Deze eigenschap is alleen-lezen.