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)

public:
property bool IsInterface {
	virtual bool get() sealed;
}

Property Value

Type: System::Boolean

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

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.

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

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

.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top
Show: