Skip to main content
.NET Framework Class Library
Type..::.IsInterface Property

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

Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
Public ReadOnly Property IsInterface As Boolean
public bool IsInterface { get; }
public:
virtual property bool IsInterface {
	bool get () sealed;
}
abstract IsInterface : bool
override IsInterface : bool

Property Value

Type: System..::.Boolean
true if the Type is an interface; otherwise, false.

Implements

_Type..::.IsInterface
Remarks

The ClassSemanticsMask distinguishes a type declaration as class, interface or value type.

If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns false.

This property is read-only.

Examples

The following example creates an interface, checks for the interface type, and indicates whether a class has the IsInterface property set.


Imports System
Imports Microsoft.VisualBasic
' Declare an interface.
Interface myIFace
End Interface 'myIFace
Class MyIsInterface
    Public Shared Sub Main()
        Try
            ' Get the IsInterface attribute for myIFace.
            Dim myBool1 As Boolean = GetType(myIFace).IsInterface
            ' Display the IsInterface attribute for myIFace.
            Console.WriteLine("Is the specified type an interface? {0}.", myBool1.ToString)
            ' Get the IsInterface attribute for MyIsInterface.
            Dim myBool2 As Boolean = GetType(MyIsInterface).IsInterface
            ' Display the IsInterface attribute for MyIsInterface.
            Console.WriteLine("Is the specified type an interface? {0}.", myBool2.ToString)
        Catch e As Exception
            Console.WriteLine(ControlChars.Cr + "An exception occurred: {0}", e.Message.ToString)
        End Try
    End Sub 'Main
End Class 'MyIsInterface


using System;
// Declare an interface.
interface myIFace
{
}
class MyIsInterface 
{
    public static void Main(string []args)
    {
        try
        {
            // Get the IsInterface attribute for myIFace.
            bool myBool1 = typeof(myIFace).IsInterface;    
            //Display the IsInterface attribute for myIFace.
            Console.WriteLine("Is the specified type an interface? {0}.", myBool1);
            // Get the attribute IsInterface for MyIsInterface.
            bool myBool2 = typeof(MyIsInterface).IsInterface;    
            //Display the IsInterface attribute for MyIsInterface.
            Console.WriteLine("Is the specified type an interface? {0}.", myBool2);         
        }
        catch(Exception e)
        {
            Console.WriteLine("\nAn exception occurred: {0}.", e.Message);
        }
    }
}


using namespace System;

// Declare an interface.
interface class myIFace{};
public ref class MyIsInterface{};

void main()
{
   try
   {
      // Get the IsInterface attribute for myIFace.
      bool myBool1 = myIFace::typeid->IsInterface;

      //Display the IsInterface attribute for myIFace.
      Console::WriteLine( "Is the specified type an interface? {0}.", myBool1 );

      // Get the attribute IsInterface for MyIsInterface.
      bool myBool2 = MyIsInterface::typeid->IsInterface;

      //Display the IsInterface attribute for MyIsInterface.
      Console::WriteLine( "Is the specified type an interface? {0}.", myBool2 );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "\nAn exception occurred: {0}.", e->Message );
   }
}

Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Microsoft is conducting an online survey to understand your opinion of the MSDN Web site. If you choose to participate, the online survey will be presented to you when you leave the MSDN Web site.

Would you like to participate?