Type.GetInterface Yöntem

Tanım

Geçerli Typetarafından uygulanan veya devralınan belirli bir arabirimi alır.

Aşırı Yüklemeler

Name Description
GetInterface(String, Boolean)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen arabirimi arar ve arabirim adı için büyük/küçük harfe duyarlı olmayan bir arama yapılıp yapılmayacağını belirtir.

GetInterface(String)

Belirtilen ada sahip arabirimi arar.

GetInterface(String, Boolean)

Kaynak:
Type.cs
Kaynak:
Type.cs
Kaynak:
Type.cs
Kaynak:
Type.cs
Kaynak:
Type.cs

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen arabirimi arar ve arabirim adı için büyük/küçük harfe duyarlı olmayan bir arama yapılıp yapılmayacağını belirtir.

public:
 abstract Type ^ GetInterface(System::String ^ name, bool ignoreCase);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces)]
public abstract Type? GetInterface(string name, bool ignoreCase);
public abstract Type? GetInterface(string name, bool ignoreCase);
public abstract Type GetInterface(string name, bool ignoreCase);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces)>]
abstract member GetInterface : string * bool -> Type
abstract member GetInterface : string * bool -> Type
Public MustOverride Function GetInterface (name As String, ignoreCase As Boolean) As Type

Parametreler

name
String

Alınacak arabirimin adını içeren dize. Genel arabirimler için bu, mangled adıdır.

ignoreCase
Boolean

true basit arabirim adını belirten bölümünün name büyük/küçük harf durumunu yoksaymak için (ad alanını belirten bölüm doğru şekilde büyük/küçük harfle belirtilmelidir).

-veya-

false öğesinin tüm bölümleri nameiçin büyük/küçük harfe duyarlı bir arama yapmak için.

Döndürülenler

Geçerli Typetarafından uygulanan veya devralınan belirtilen ada sahip arabirimi temsil eden bir nesne, bulunursa; aksi takdirde, null.

Uygulamalar

Öznitelikler

Özel durumlar

name, null'e eşittir.

geçerli Type , farklı tür bağımsız değişkenleriyle aynı genel arabirimi uygulayan bir türü temsil eder.

Örnekler

Aşağıdaki kod örneği, arabirimi için sınıfın büyük/küçük harfe duyarlı olmayan bir aramasını Hashtable gerçekleştirmek için IEnumerable yöntemini kullanırGetInterface(String, Boolean).

Kod örneği ayrıca yöntem aşırı yüklemesini GetInterface(String) ve GetInterfaceMap yöntemini gösterir.

public static void Main()
{
    Hashtable hashtableObj = new Hashtable();
    Type objType = hashtableObj.GetType();
    MethodInfo[] arrayMethodInfo;
    MemberInfo[] arrayMemberInfo;
    try
    {
        // Get the methods implemented in 'IDeserializationCallback' interface.
        arrayMethodInfo =objType.GetInterface("IDeserializationCallback").GetMethods();
        Console.WriteLine ("\nMethods of 'IDeserializationCallback' Interface :");
        foreach(MethodInfo methodInfo in arrayMethodInfo)
            Console.WriteLine (methodInfo);

        // Get FullName for interface by using Ignore case search.
        Console.WriteLine ("\nMethods of 'IEnumerable' Interface");
        arrayMethodInfo = objType.GetInterface("ienumerable",true).GetMethods();
        foreach(MethodInfo methodInfo in arrayMethodInfo)
           Console.WriteLine (methodInfo);

        //Get the Interface methods for 'IDictionary' interface
        InterfaceMapping interfaceMappingOb = objType.GetInterfaceMap(typeof(IDictionary));
        arrayMemberInfo = interfaceMappingObj.InterfaceMethods;
        Console.WriteLine ("\nHashtable class Implements the following IDictionary Interface methods :");
        foreach(MemberInfo memberInfo in arrayMemberInfo)
           Console.WriteLine (memberInfo);
    }
    catch (Exception e)
    {
        Console.WriteLine ("Exception : " + e.ToString());
    }
}
let hashtableObj = Hashtable()
let objType = hashtableObj.GetType()
try
    // Get the methods implemented in 'IDeserializationCallback' interface.
    let arrayMethodInfo = objType.GetInterface("IDeserializationCallback").GetMethods()
    printfn "\nMethods of 'IDeserializationCallback' Interface :"
    for methodInfo in arrayMethodInfo do
        printfn $"{methodInfo}"

    // Get FullName for interface by using Ignore case search.
    printfn "\nMethods of 'IEnumerable' Interface"
    let arrayMethodInfo = objType.GetInterface("ienumerable",true).GetMethods()
    for methodInfo in arrayMethodInfo do
        printfn $"{methodInfo}"

    //Get the Interface methods for 'IDictionary' interface
    let interfaceMappingObj = objType.GetInterfaceMap typeof<IDictionary>
    let arrayMemberInfo = interfaceMappingObj.InterfaceMethods
    printfn "\nHashtable class Implements the following IDictionary Interface methods :"
    for memberInfo in arrayMemberInfo do
        printfn $"{memberInfo}"
with e ->
    printfn $"Exception : {e}"
   Public Shared Sub Main()
      Dim hashtableObj As New Hashtable()
      Dim objType As Type = hashtableObj.GetType()
      Dim arrayMemberInfo() As MemberInfo
      Dim arrayMethodInfo() As MethodInfo
      Try
         ' Get the methods implemented in 'IDeserializationCallback' interface.
         arrayMethodInfo = objType.GetInterface("IDeserializationCallback").GetMethods()
         Console.WriteLine(ControlChars.Cr + "Methods of 'IDeserializationCallback' Interface :")
         Dim index As Integer
         For index = 0 To arrayMethodInfo.Length - 1
            Console.WriteLine(arrayMethodInfo(index).ToString())
         Next index
         ' Get FullName for interface by using Ignore case search.
         Console.WriteLine(ControlChars.Cr + "Methods of 'IEnumerable' Interface")
         arrayMethodInfo = objType.GetInterface("ienumerable", True).GetMethods()
         For index = 0 To arrayMethodInfo.Length - 1
            Console.WriteLine(arrayMethodInfo(index).ToString())
         Next index
         'Get the Interface methods for 'IDictionary' interface
         Dim interfaceMappingObj As InterfaceMapping
         interfaceMappingObj = objType.GetInterfaceMap(GetType(IDictionary))
         arrayMemberInfo = interfaceMappingObj.InterfaceMethods
         Console.WriteLine(ControlChars.Cr + "Hashtable class Implements the following IDictionary Interface methods :")
         For index = 0 To arrayMemberInfo.Length - 1
            Console.WriteLine(arrayMemberInfo(index).ToString())
         Next index
      Catch e As Exception
         Console.WriteLine(("Exception : " + e.ToString()))
      End Try
   End Sub
End Class

Açıklamalar

ignoreCase parametresi ad alanına değil yalnızca basit arabirim adına uygulanır. Ad alanını belirten bölümü name doğru büyük/küçük harfe sahip olmalıdır, aksi takdirde arabirim bulunamaz. Örneğin, "System.icomparable" dizesi arabirimi bulur IComparable , ancak "system.icomparable" dizesi bulmaz.

Geçerli Type yapılandırılmış bir genel türü temsil ediyorsa, bu yöntem tür parametrelerini uygun tür bağımsız değişkenleriyle değiştirerek Type'i döndürür.

Geçerli Type , genel bir tür veya genel yöntemin tanımında 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 arabirimleri arar.

Uyarı

Genel arabirimler için parametre, name noktalı vurgu (') ile biten ve tür parametrelerinin sayısı olan mangled adıdır. Bu, hem genel arabirim tanımları hem de oluşturulur genel arabirimler için geçerlidir. Örneğin, IExample<T> (Visual Basic'da IExample(Of T)) veya IExample<string> (Visual Basic'da IExample(Of String)) bulmak için "IExample`1" arayın.

Ayrıca bkz.

Şunlara uygulanır

GetInterface(String)

Kaynak:
Type.cs
Kaynak:
Type.cs
Kaynak:
Type.cs
Kaynak:
Type.cs
Kaynak:
Type.cs

Belirtilen ada sahip arabirimi arar.

public:
 Type ^ GetInterface(System::String ^ name);
public:
 virtual Type ^ GetInterface(System::String ^ name);
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces)]
public Type? GetInterface(string name);
public Type? GetInterface(string name);
public Type GetInterface(string name);
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces)>]
member this.GetInterface : string -> Type
member this.GetInterface : string -> Type
abstract member GetInterface : string -> Type
override this.GetInterface : string -> Type
Public Function GetInterface (name As String) As Type

Parametreler

name
String

Alınacak arabirimin adını içeren dize. Genel arabirimler için bu, mangled adıdır.

Döndürülenler

Geçerli Typetarafından uygulanan veya devralınan belirtilen ada sahip arabirimi temsil eden bir nesne, bulunursa; aksi takdirde, null.

Uygulamalar

Öznitelikler

Özel durumlar

name, null'e eşittir.

geçerli Type , farklı tür bağımsız değişkenleriyle aynı genel arabirimi uygulayan bir türü temsil eder.

Örnekler

Aşağıdaki kod örneği, arabirimi için sınıfında arama Hashtable yapmak için IDeserializationCallback yöntemini kullanır GetInterface(String) ve arabirimin yöntemlerini listeler.

Kod örneği ayrıca yöntem aşırı yüklemesini GetInterface(String, Boolean) ve GetInterfaceMap yöntemini gösterir.

public static void Main()
{
    Hashtable hashtableObj = new Hashtable();
    Type objType = hashtableObj.GetType();
    MethodInfo[] arrayMethodInfo;
    MemberInfo[] arrayMemberInfo;
    try
    {
        // Get the methods implemented in 'IDeserializationCallback' interface.
        arrayMethodInfo =objType.GetInterface("IDeserializationCallback").GetMethods();
        Console.WriteLine ("\nMethods of 'IDeserializationCallback' Interface :");
        foreach(MethodInfo methodInfo in arrayMethodInfo)
            Console.WriteLine (methodInfo);

        // Get FullName for interface by using Ignore case search.
        Console.WriteLine ("\nMethods of 'IEnumerable' Interface");
        arrayMethodInfo = objType.GetInterface("ienumerable",true).GetMethods();
        foreach(MethodInfo methodInfo in arrayMethodInfo)
           Console.WriteLine (methodInfo);

        //Get the Interface methods for 'IDictionary' interface
        InterfaceMapping interfaceMappingOb = objType.GetInterfaceMap(typeof(IDictionary));
        arrayMemberInfo = interfaceMappingObj.InterfaceMethods;
        Console.WriteLine ("\nHashtable class Implements the following IDictionary Interface methods :");
        foreach(MemberInfo memberInfo in arrayMemberInfo)
           Console.WriteLine (memberInfo);
    }
    catch (Exception e)
    {
        Console.WriteLine ("Exception : " + e.ToString());
    }
}
let hashtableObj = Hashtable()
let objType = hashtableObj.GetType()
try
    // Get the methods implemented in 'IDeserializationCallback' interface.
    let arrayMethodInfo = objType.GetInterface("IDeserializationCallback").GetMethods()
    printfn "\nMethods of 'IDeserializationCallback' Interface :"
    for methodInfo in arrayMethodInfo do
        printfn $"{methodInfo}"

    // Get FullName for interface by using Ignore case search.
    printfn "\nMethods of 'IEnumerable' Interface"
    let arrayMethodInfo = objType.GetInterface("ienumerable",true).GetMethods()
    for methodInfo in arrayMethodInfo do
        printfn $"{methodInfo}"

    //Get the Interface methods for 'IDictionary' interface
    let interfaceMappingObj = objType.GetInterfaceMap typeof<IDictionary>
    let arrayMemberInfo = interfaceMappingObj.InterfaceMethods
    printfn "\nHashtable class Implements the following IDictionary Interface methods :"
    for memberInfo in arrayMemberInfo do
        printfn $"{memberInfo}"
with e ->
    printfn $"Exception : {e}"
   Public Shared Sub Main()
      Dim hashtableObj As New Hashtable()
      Dim objType As Type = hashtableObj.GetType()
      Dim arrayMemberInfo() As MemberInfo
      Dim arrayMethodInfo() As MethodInfo
      Try
         ' Get the methods implemented in 'IDeserializationCallback' interface.
         arrayMethodInfo = objType.GetInterface("IDeserializationCallback").GetMethods()
         Console.WriteLine(ControlChars.Cr + "Methods of 'IDeserializationCallback' Interface :")
         Dim index As Integer
         For index = 0 To arrayMethodInfo.Length - 1
            Console.WriteLine(arrayMethodInfo(index).ToString())
         Next index
         ' Get FullName for interface by using Ignore case search.
         Console.WriteLine(ControlChars.Cr + "Methods of 'IEnumerable' Interface")
         arrayMethodInfo = objType.GetInterface("ienumerable", True).GetMethods()
         For index = 0 To arrayMethodInfo.Length - 1
            Console.WriteLine(arrayMethodInfo(index).ToString())
         Next index
         'Get the Interface methods for 'IDictionary' interface
         Dim interfaceMappingObj As InterfaceMapping
         interfaceMappingObj = objType.GetInterfaceMap(GetType(IDictionary))
         arrayMemberInfo = interfaceMappingObj.InterfaceMethods
         Console.WriteLine(ControlChars.Cr + "Hashtable class Implements the following IDictionary Interface methods :")
         For index = 0 To arrayMemberInfo.Length - 1
            Console.WriteLine(arrayMemberInfo(index).ToString())
         Next index
      Catch e As Exception
         Console.WriteLine(("Exception : " + e.ToString()))
      End Try
   End Sub
End Class

Açıklamalar

name araması büyük/küçük harfe duyarlıdır.

Geçerli Type yapılandırılmış bir genel türü temsil ediyorsa, bu yöntem tür parametrelerini uygun tür bağımsız değişkenleriyle değiştirerek Type'i döndürür.

Geçerli Type , genel bir tür veya genel yöntemin tanımında 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 arabirimleri arar.

Uyarı

Genel arabirimler için parametre, name noktalı vurgu (') ile biten ve tür parametrelerinin sayısı olan mangled adıdır. Bu, hem genel arabirim tanımları hem de oluşturulur genel arabirimler için geçerlidir. Örneğin, IExample<T> (Visual Basic'da IExample(Of T)) veya IExample<string> (Visual Basic'da IExample(Of String)) bulmak için "IExample`1" arayın.

Ayrıca bkz.

Şunlara uygulanır