Type.IsInterface 屬性

定義

取得值,指出 Type 是否為介面;也就是說,不是類別或實值類型。Gets a value indicating whether the Type is an interface; that is, not a class or a value type.

public:
 property bool IsInterface { bool get(); };
public bool IsInterface { get; }
member this.IsInterface : bool
Public ReadOnly Property IsInterface As Boolean

屬性值

Boolean

如果 true 是介面,則為 Type,否則為 falsetrue if the Type is an interface; otherwise, false.

實作

範例

下列範例會建立介面、檢查介面型別,並指出類別是否已 IsInterface 設定屬性。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 );
   }
}
/* The example produces the following output:

Is the specified type an interface? True.
Is the specified type an interface? False.
*/
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);
        }
    }
}
/* The example produces the following output:

Is the specified type an interface? True.
Is the specified type an interface? False.
*/
' Declare an interface.
Interface myIFace
End Interface

Class MyIsInterface
    Public Shared Sub Main()
        ' Get the IsInterface attribute for myIFace.
        Dim myBool1 As Boolean = GetType(myIFace).IsInterface
        Console.WriteLine("Is the specified type an interface? {0}.", myBool1)

        ' Determine whether Example is an interface.
        Dim myBool2 As Boolean = GetType(MyIsInterface).IsInterface
        Console.WriteLine("Is the specified type an interface? {0}.", myBool2)
        Console.ReadLine()

    End Sub
End Class
' The example displays the following output:
'       Is the specified type an interface? True.
'       Is the specified type an interface? False.

備註

會將型別宣告區 ClassSemanticsMask 分為類別、介面或實值型別。The ClassSemanticsMask distinguishes a type declaration as class, interface or value type.

如果目前 Type 表示泛型型別或泛型方法定義中的類型參數,則這個屬性一律會傳回 falseIf 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.

適用於

另請參閱