Windows Dev Center

Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Type.IsClass Property

Gets a value indicating whether the Type is a class or a delegate; that is, not a value type or interface.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public bool IsClass { get; }

Property Value

Type: System.Boolean
true if the Type is a class; otherwise, false.

Implements

_Type.IsClass

This property returns true for classes as well as delegates. It returns false for value types (for structures and enumerations) even if they are boxed.

If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns true. If the current Type represents a constructed generic type, this property returns true if the generic type definition is a class definition; that is, it does not define an interface or a value type.

NoteNote

This property returns true for Type instances that represent the Enum and ValueType classes. These two classes are the base types for enumerations and value types, respectively, but they are not enumerations or value types themselves. For more information, see the IsValueType and IsEnum properties.

The TypeAttributes.ClassSemanticsMask enumeration value distinguishes a type declaration as class or interface. However, both classes and value types are marked with the TypeAttributes.Class attribute. If you retrieve the value of a type's Attributes property and use the TypeAttributes.ClassSemanticsMask value to determine whether a type is a class instead of a value type, you must also call the IsValueType property. The example for the TypeAttributes enumeration contains additional information as well as an example.

This property is read-only.

The following example creates an instance of a type and indicates whether the type is a class.

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);
        }
    }
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft