Type.GetInterfaces Yöntem

Tanım

Türetilmiş bir sınıfta geçersiz kılınan, geçerli tarafından uygulanan veya devralınan tüm arabirimleri Type alır.

public:
 abstract cli::array <Type ^> ^ GetInterfaces();
public abstract Type[] GetInterfaces ();
abstract member GetInterfaces : unit -> Type[]
Public MustOverride Function GetInterfaces () As Type()

Döndürülenler

Type[]

Geçerli tarafından Type uygulanan veya devralınan tüm arabirimleri temsil eden bir nesne Type dizisi.

-veya- Geçerli tarafından hiçbir arabirim Type uygulanmazsa veya devralınırsa türünde boş bir Type dizi.

Uygulamalar

Özel durumlar

Statik başlatıcı çağrılır ve bir özel durum oluşturur.

Örnekler

Aşağıdaki örnek, belirtilen sınıfın türünü alır ve türün uygulayan veya devralınan tüm arabirimleri görüntüler. Aşağıdaki Visual Basic derlemek için aşağıdaki derleyici komutlarını kullanın:

vbc type_getinterfaces1.vb /r:System.Web.dll /r:System.dll

using namespace System;
using namespace System::Collections::Generic;

void main()
{
    Console::WriteLine("\r\nInterfaces implemented by Dictionary<int, String^>:\r\n");
     
    for each (Type^ tinterface in Dictionary<int, String^>::typeid->GetInterfaces())
    {
        Console::WriteLine(tinterface->ToString());
    }

    //Console::ReadLine()      // Uncomment this line for Visual Studio. 
}

/* This example produces output similar to the following:

Interfaces implemented by Dictionary<int, String^>:

System.Collections.Generic.IDictionary`2[System.Int32,System.String]
System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.Int32,System.String]]
System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.Int32,System.String]]
System.Collection.IEnumerable
System.Collection.IDictionary
System.Collection.ICollection
System.Runtime.Serialization.ISerializable
System.Runtime.Serialization.IDeserializationCallback
 */
using System;
using System.Collections.Generic;

public class Example
{
    static void Main()
    {
        Console.WriteLine("\r\nInterfaces implemented by Dictionary<int, string>:\r\n");

        foreach (Type tinterface in typeof(Dictionary<int, string>).GetInterfaces())
        {
            Console.WriteLine(tinterface.ToString());
        }

        //Console.ReadLine()      // Uncomment this line for Visual Studio.
    }
}

/* This example produces output similar to the following:

Interfaces implemented by Dictionary<int, string>:

System.Collections.Generic.IDictionary`2[System.Int32,System.String]
System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.Int32,System.String]]
System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.Int32,System.String]]
System.Collection.IEnumerable
System.Collection.IDictionary
System.Collection.ICollection
System.Runtime.Serialization.ISerializable
System.Runtime.Serialization.IDeserializationCallback
 */
Imports System.Collections.Generic

Public Class Example

    Shared Sub Main()

        Console.WriteLine(vbCrLf & _
            "Interfaces implemented by Dictionary(Of Integer, String):" & vbCrLf)
        
        For Each tinterface As Type In GetType(Dictionary(Of Integer, String)).GetInterfaces()

            Console.WriteLine(tinterface.ToString())

        Next

        'Console.ReadLine()      ' Uncomment this line for Visual Studio. 
    End Sub
End Class

' This example produces output similar to the following:
'
'Interfaces implemented by Dictionary(Of Integer, String):
'System.Collections.Generic.IDictionary`2[System.Int32,System.String]
'System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.Int32,System.String]]
'System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.Int32,System.String]]
'System.Collection.IEnumerable
'System.Collection.IDictionary
'System.Collection.ICollection
'System.Runtime.Serialization.ISerializable
'System.Runtime.Serialization.IDeserializationCallback

Açıklamalar

yöntemi, GetInterfaces arabirimleri alfabetik veya bildirim sırası gibi belirli bir sırada geri dönmez. Kodunuz, arabirimlerin döndürül sırasına bağlı değildir çünkü bu sıralama değişir.

Geçerli, oluşturulmuş bir genel türü temsil ediyorsa, bu yöntem uygun tür bağımsız değişkenleriyle değiştirilmiş Type Type tür parametreleriyle nesneleri döndürür.

Geçerli, genel bir türün veya genel yöntemin tanımında bir tür parametresini temsil ederse, bu yöntem arabirim kısıtlamalarını ve sınıf veya arabirim kısıtlamalarından devralınan Type arabirimleri arar.

Şunlara uygulanır

Ayrıca bkz.