Type.GetInterface Type.GetInterface Type.GetInterface Type.GetInterface Method

정의

현재 Type에 의해 구현되거나 상속되는 특정 인터페이스를 가져옵니다.Gets a specific interface implemented or inherited by the current Type.

오버로드

GetInterface(String) GetInterface(String) GetInterface(String) GetInterface(String)

지정된 이름의 인터페이스를 검색합니다.Searches for the interface with the specified name.

GetInterface(String, Boolean) GetInterface(String, Boolean) GetInterface(String, Boolean) GetInterface(String, Boolean)

파생 클래스에서 재정의되면 인터페이스 이름에 대해 대/소문자를 구분하지 않고 검색할지를 지정하여 지정된 인터페이스를 검색합니다.When overridden in a derived class, searches for the specified interface, specifying whether to do a case-insensitive search for the interface name.

GetInterface(String) GetInterface(String) GetInterface(String) GetInterface(String)

지정된 이름의 인터페이스를 검색합니다.Searches for the interface with the specified name.

public:
 virtual Type ^ GetInterface(System::String ^ name);
public Type GetInterface (string name);
abstract member GetInterface : string -> Type
override this.GetInterface : string -> Type
Public Function GetInterface (name As String) As Type

매개 변수

name
String String String String

가져올 인터페이스의 이름이 포함된 문자열입니다.The string containing the name of the interface to get. 제네릭 인터페이스의 경우 이것은 형식 표시 이름입니다.For generic interfaces, this is the mangled name.

반환

개체는 현재 Type에 의해 구현되거나 상속되는, 지정된 이름의 인터페이스를 나타내는 개체이며(있는 경우) 이를 나타내고, 이러한 개체가 없으면 null을 반환합니다.An object representing the interface with the specified name, implemented or inherited by the current Type, if found; otherwise, null.

구현

예외

현재 Type은 다른 형식 인수를 사용하여 동일한 제네릭 인터페이스를 구현하는 형식을 나타냅니다.The current Type represents a type that implements the same generic interface with different type arguments.

예제

다음 코드 예제에서는 합니다 GetInterface(String) 검색 하는 방법을 Hashtable 클래스는 IDeserializationCallback 인터페이스 및 인터페이스의 메서드를 나열 합니다.The following code example uses the GetInterface(String) method to search the Hashtable class for the IDeserializationCallback interface, and lists the methods of the interface.

코드 예제도 합니다 GetInterface(String, Boolean) 메서드 오버 로드 및 GetInterfaceMap 메서드.The code example also demonstrates the GetInterface(String, Boolean) method overload and the GetInterfaceMap method.

int main()
{
   Hashtable^ hashtableObj = gcnew Hashtable;
   Type^ objType = hashtableObj->GetType();
   array<MemberInfo^>^arrayMemberInfo;
   array<MethodInfo^>^arrayMethodInfo;
   try
   {
      // Get the methods implemented in 'IDeserializationCallback' interface.
      arrayMethodInfo = objType->GetInterface( "IDeserializationCallback" )->GetMethods();
      Console::WriteLine( "\nMethods of 'IDeserializationCallback' Interface :" );
      for ( int index = 0; index < arrayMethodInfo->Length; index++ )
         Console::WriteLine( arrayMethodInfo[ index ] );
      
      // Get FullName for interface by using Ignore case search.
      Console::WriteLine( "\nMethods of 'IEnumerable' Interface" );
      arrayMethodInfo = objType->GetInterface( "ienumerable", true )->GetMethods();
      for ( int index = 0; index < arrayMethodInfo->Length; index++ )
         Console::WriteLine( arrayMethodInfo[ index ] );
      
      //Get the Interface methods for 'IDictionary*' interface
      InterfaceMapping interfaceMappingObj;
      interfaceMappingObj = objType->GetInterfaceMap( IDictionary::typeid );
      arrayMemberInfo = interfaceMappingObj.InterfaceMethods;
      Console::WriteLine( "\nHashtable class Implements the following IDictionary Interface methods :" );
      for ( int index = 0; index < arrayMemberInfo->Length; index++ )
         Console::WriteLine( arrayMemberInfo[ index ] );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception : {0}", e );
   }
}
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());            
    }                 
}
   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 'Main
End Class 'MyInterfaceClass 

설명

검색 name 대/소문자 구분 합니다.The search for name is case-sensitive.

하는 경우 현재 Type 이 메서드는 반환 생성된 된 제네릭 형식을 나타내는 Type 따라 적절 한 형식 인수로 대체 형식 매개 변수를 사용 하 여 합니다.If the current Type represents a constructed generic type, this method returns the Type with the type parameters replaced by the appropriate type arguments.

하는 경우 현재 Type 인터페이스 제약 조건과 클래스 또는 인터페이스 제약 조건에서 상속 된 모든 인터페이스 나타내는 제네릭 형식 또는 제네릭 메서드,이 메서드 정의의 형식 매개 변수를 검색 합니다.If the current Type represents a type parameter in the definition of a generic type or generic method, this method searches the interface constraints and any interfaces inherited from class or interface constraints.

참고

제네릭 인터페이스에 대 한 합니다 name 매개 변수는 잘못 된 이름, 억음 악센트 끝나는 (`) 및 형식 매개 변수의 개수입니다.For generic interfaces, the name parameter is the mangled name, ending with a grave accent (`) and the number of type parameters. 이것이 제네릭 인터페이스 정 및 생성 된 제네릭 인터페이스를 모두 마찬가지입니다.This is true for both generic interface definitions and constructed generic interfaces. 예를 들어 찾을 수 IExample<T> (IExample(Of T) Visual basic에서) 또는 IExample<string> (IExample(Of String) Visual basic에서), 검색할 "IExample`1".For example, to find IExample<T> (IExample(Of T) in Visual Basic) or IExample<string> (IExample(Of String) in Visual Basic), search for "IExample`1".

추가 정보

GetInterface(String, Boolean) GetInterface(String, Boolean) GetInterface(String, Boolean) GetInterface(String, Boolean)

파생 클래스에서 재정의되면 인터페이스 이름에 대해 대/소문자를 구분하지 않고 검색할지를 지정하여 지정된 인터페이스를 검색합니다.When overridden in a derived class, searches for the specified interface, specifying whether to do a case-insensitive search for the interface name.

public:
 abstract Type ^ GetInterface(System::String ^ name, bool ignoreCase);
public abstract Type GetInterface (string name, bool ignoreCase);
abstract member GetInterface : string * bool -> Type
Public MustOverride Function GetInterface (name As String, ignoreCase As Boolean) As Type

매개 변수

name
String String String String

가져올 인터페이스의 이름이 포함된 문자열입니다.The string containing the name of the interface to get. 제네릭 인터페이스의 경우 이것은 형식 표시 이름입니다.For generic interfaces, this is the mangled name.

ignoreCase
Boolean Boolean Boolean Boolean

단순한 인터페이스 이름을 지정하는 true 부분의 대/소문자를 무시하려면 name입니다. 네임스페이스를 지정하는 부분은 대/소문자를 올바로 지정해야 합니다.true to ignore the case of that part of name that specifies the simple interface name (the part that specifies the namespace must be correctly cased).

또는-or- false의 모든 부분에 대해 대/소문자를 구분하여 검색하려면 name입니다.false to perform a case-sensitive search for all parts of name.

반환

개체는 현재 Type에 의해 구현되거나 상속되는, 지정된 이름의 인터페이스를 나타내는 개체이며(있는 경우) 이를 나타내고, 이러한 개체가 없으면 null을 반환합니다.An object representing the interface with the specified name, implemented or inherited by the current Type, if found; otherwise, null.

구현

예외

현재 Type은 다른 형식 인수를 사용하여 동일한 제네릭 인터페이스를 구현하는 형식을 나타냅니다.The current Type represents a type that implements the same generic interface with different type arguments.

예제

다음 코드 예제에서는 합니다 GetInterface(String, Boolean) 의 대/소문자 구분 검색을 수행 하는 방법을 Hashtable 클래스는 IEnumerable 인터페이스입니다.The following code example uses the GetInterface(String, Boolean) method to perform a case-insensitive search of the Hashtable class for the IEnumerable interface.

코드 예제도 합니다 GetInterface(String) 메서드 오버 로드 및 GetInterfaceMap 메서드.The code example also demonstrates the GetInterface(String) method overload and the GetInterfaceMap method.

int main()
{
   Hashtable^ hashtableObj = gcnew Hashtable;
   Type^ objType = hashtableObj->GetType();
   array<MemberInfo^>^arrayMemberInfo;
   array<MethodInfo^>^arrayMethodInfo;
   try
   {
      // Get the methods implemented in 'IDeserializationCallback' interface.
      arrayMethodInfo = objType->GetInterface( "IDeserializationCallback" )->GetMethods();
      Console::WriteLine( "\nMethods of 'IDeserializationCallback' Interface :" );
      for ( int index = 0; index < arrayMethodInfo->Length; index++ )
         Console::WriteLine( arrayMethodInfo[ index ] );
      
      // Get FullName for interface by using Ignore case search.
      Console::WriteLine( "\nMethods of 'IEnumerable' Interface" );
      arrayMethodInfo = objType->GetInterface( "ienumerable", true )->GetMethods();
      for ( int index = 0; index < arrayMethodInfo->Length; index++ )
         Console::WriteLine( arrayMethodInfo[ index ] );
      
      //Get the Interface methods for 'IDictionary*' interface
      InterfaceMapping interfaceMappingObj;
      interfaceMappingObj = objType->GetInterfaceMap( IDictionary::typeid );
      arrayMemberInfo = interfaceMappingObj.InterfaceMethods;
      Console::WriteLine( "\nHashtable class Implements the following IDictionary Interface methods :" );
      for ( int index = 0; index < arrayMemberInfo->Length; index++ )
         Console::WriteLine( arrayMemberInfo[ index ] );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception : {0}", e );
   }
}
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());            
    }                 
}
   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 'Main
End Class 'MyInterfaceClass 

설명

ignoreCase 매개 변수 단순한 인터페이스 이름을 네임 스페이스 필요가만 적용 됩니다.The ignoreCase parameter applies only to the simple interface name, not to the namespace. 부분 name 네임 스페이스에는 정확한 대/소문자 있어야 합니다. 또는 인터페이스를 찾을 수 없습니다 지정 합니다.The portion of name that specifies the namespace must have the correct case, or the interface will not be found. 예를 들어, "System.icomparable" 찾습니다 문자열을 IComparable 인터페이스 되지만 문자열 "system.icomparable" 하지 않습니다.For example, the string "System.icomparable" finds the IComparable interface, but the string "system.icomparable" does not.

하는 경우 현재 Type 이 메서드는 반환 생성된 된 제네릭 형식을 나타내는 Type 따라 적절 한 형식 인수로 대체 형식 매개 변수를 사용 하 여 합니다.If the current Type represents a constructed generic type, this method returns the Type with the type parameters replaced by the appropriate type arguments.

하는 경우 현재 Type 인터페이스 제약 조건과 클래스 또는 인터페이스 제약 조건에서 상속 된 모든 인터페이스 나타내는 제네릭 형식 또는 제네릭 메서드,이 메서드 정의의 형식 매개 변수를 검색 합니다.If the current Type represents a type parameter in the definition of a generic type or generic method, this method searches the interface constraints and any interfaces inherited from class or interface constraints.

참고

제네릭 인터페이스에 대 한 합니다 name 매개 변수는 잘못 된 이름, 억음 악센트 끝나는 (`) 및 형식 매개 변수의 개수입니다.For generic interfaces, the name parameter is the mangled name, ending with a grave accent (`) and the number of type parameters. 이것이 제네릭 인터페이스 정 및 생성 된 제네릭 인터페이스를 모두 마찬가지입니다.This is true for both generic interface definitions and constructed generic interfaces. 예를 들어 찾을 수 IExample<T> (IExample(Of T) Visual basic에서) 또는 IExample<string> (IExample(Of String) Visual basic에서), 검색할 "IExample1"'.For example, to find IExample<T> (IExample(Of T) in Visual Basic) or IExample<string> (IExample(Of String) in Visual Basic), search for "IExample1"`.

추가 정보

적용 대상