Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Método Type.GetInterfaceMap (Type)

 

Retorna um mapeamento de interface para o tipo de interface especificado.

Namespace:   System
Assembly:  mscorlib (em mscorlib.dll)

[ComVisibleAttribute(true)]
public virtual InterfaceMapping GetInterfaceMap(
	Type interfaceType
)

Parâmetros

interfaceType
Type: System.Type

O tipo de interface para o qual um mapeamento será recuperado.

Valor Retornado

Type: System.Reflection.InterfaceMapping

Um objeto que representa o mapeamento de interface para interfaceType.

Exception Condition
ArgumentException

interfaceType não é implementado pelo tipo atual.

-ou-

O parâmetro interfaceType não faz referência a uma interface.

-ou-

interfaceType é uma interface genérica e o tipo atual é um tipo de matriz.

ArgumentNullException

interfaceType é null.

InvalidOperationException

O Type atual representa um parâmetro de tipo genérico, ou seja, IsGenericParameter é true.

NotSupportedException

O método chamado não é suportado na classe base. As classes derivadas devem fornecer uma implementação.

O mapa de interface indica como uma interface é mapeada para os membros reais em uma classe que implementa a interface.

Se o atual Type representa um tipo genérico construído, tipo de parâmetros são substituídos pelos argumentos nos elementos do tipo apropriado de InterfaceMapping retornado por esse método.

A exemplo a seguir chama o GetInterfaceMap método para determinar como o IFormatProvider interface é mapeado para CultureInfo métodos e como o IAppDomainSetup interface é mapeado para AppDomainSetup propriedades. Observe que, como o IAppDomainSetup interface define um conjunto de propriedades, retornados InterfaceMapping objeto inclui separada MethodInfo objetos para get da propriedade e o conjunto de acessadores.

using System;
using System.Globalization;
using System.Reflection;

public class Example
{
   public static void Main()
   {
      Type[] interf = { typeof(IFormatProvider), typeof(IAppDomainSetup) };
      Type[] impl = { typeof(CultureInfo), typeof(AppDomainSetup) };

      for (int ctr = 0; ctr < interf.Length; ctr++)
         ShowInterfaceMapping(interf[ctr], impl[ctr]);
   }

   private static void ShowInterfaceMapping(Type intType, Type implType)
   {
      InterfaceMapping map = implType.GetInterfaceMap(intType);
      Console.WriteLine("Mapping of {0} to {1}: ", map.InterfaceType, map.TargetType);
      for (int ctr = 0; ctr < map.InterfaceMethods.Length; ctr++) {
         MethodInfo im = map.InterfaceMethods[ctr];
         MethodInfo tm = map.TargetMethods[ctr];
         Console.WriteLine("   {0} --> {1}", im.Name,tm.Name);
      }
      Console.WriteLine();
   }
}
// The example displays the following output:
//    Mapping of System.IFormatProvider to System.Globalization.CultureInfo:
//       GetFormat --> GetFormat
//
//    Mapping of System.IAppDomainSetup to System.AppDomainSetup:
//       get_ApplicationBase --> get_ApplicationBase
//       set_ApplicationBase --> set_ApplicationBase
//       get_ApplicationName --> get_ApplicationName
//       set_ApplicationName --> set_ApplicationName
//       get_CachePath --> get_CachePath
//       set_CachePath --> set_CachePath
//       get_ConfigurationFile --> get_ConfigurationFile
//       set_ConfigurationFile --> set_ConfigurationFile
//       get_DynamicBase --> get_DynamicBase
//       set_DynamicBase --> set_DynamicBase
//       get_LicenseFile --> get_LicenseFile
//       set_LicenseFile --> set_LicenseFile
//       get_PrivateBinPath --> get_PrivateBinPath
//       set_PrivateBinPath --> set_PrivateBinPath
//       get_PrivateBinPathProbe --> get_PrivateBinPathProbe
//       set_PrivateBinPathProbe --> set_PrivateBinPathProbe
//       get_ShadowCopyDirectories --> get_ShadowCopyDirectories
//       set_ShadowCopyDirectories --> set_ShadowCopyDirectories
//       get_ShadowCopyFiles --> get_ShadowCopyFiles
//       set_ShadowCopyFiles --> set_ShadowCopyFiles

.NET Framework
Disponível desde 1.1
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Retornar ao início
Mostrar: