Type.GetInterfaces Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.