Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Type.GetInterfaceMap (Type)

 

Data di pubblicazione: ottobre 2016

Restituisce un mapping di interfaccia per il tipo di interfaccia specificato.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

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

Parametri

interfaceType
Type: System.Type

Tipo dell'interfaccia per cui recuperare un mapping.

Valore restituito

Type: System.Reflection.InterfaceMapping

Oggetto che rappresenta il mapping dell'interfaccia per il parametro interfaceType.

Exception Condition
ArgumentException

interfaceType non è implementato dal tipo corrente.

-oppure-

Il parametro interfaceType non fa riferimento a un'interfaccia.

-oppure-

interfaceType è un'interfaccia generica e il tipo corrente è un tipo di matrice.

ArgumentNullException

interfaceType è null.

InvalidOperationException

L'oggetto Type corrente rappresenta un parametro di tipo generico; in altre parole, IsGenericParameter è true.

NotSupportedException

Il metodo richiamato non è supportato nella classe base. Le classi derivate devono fornire un'implementazione.

La mappa dell'interfaccia indica la modalità di mapping di un'interfaccia in membri effettivi in una classe che implementa tale interfaccia.

Se l'oggetto corrente Type rappresenta un tipo generico costruito, i parametri vengono sostituiti dagli argomenti di tipo appropriati negli elementi di tipo di InterfaceMapping restituito da questo metodo.

Nell'esempio seguente viene chiamato il GetInterfaceMap metodo per determinare come IFormatProvider interfaccia esegue il mapping a CultureInfo metodi e come IAppDomainSetup interfaccia esegue il mapping a AppDomainSetup proprietà. Si noti che, in quanto il IAppDomainSetup interfaccia definisce un set di proprietà, l'oggetto restituito InterfaceMapping oggetto include separato MethodInfo gli oggetti per ottenere una proprietà e funzioni di accesso set.

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
Disponibile da 1.1
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: