Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Type.GetInterfaceMap-Methode: (Type)

 

Veröffentlicht: Oktober 2016

Gibt eine Schnittstellenzuordnung für den angegebenen Schnittstellentyp zurück.

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

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

Parameter

interfaceType
Type: System.Type

Der Schnittstellentyp, für den eine Zuordnung abgerufen werden soll.

Rückgabewert

Type: System.Reflection.InterfaceMapping

Ein Objekt, das die Schnittstellenzuordnung für interfaceType darstellt.

Exception Condition
ArgumentException

interfaceType ist nicht durch den aktuellen Typ implementiert.

- oder -

Der interfaceType-Parameter verweist nicht auf eine Schnittstelle.

- oder -

interfaceType ist eine generische Schnittstelle, und der aktuelle Typ ist ein Arraytyp.

ArgumentNullException

interfaceType ist null.

InvalidOperationException

Der aktuelle Type entspricht einem generischen Typparameter, d. h., IsGenericParameter ist gleich true.

NotSupportedException

Die aufgerufene Methode wird in der Basisklasse nicht unterstützt. Abgeleitete Klassen müssen eine Implementation angeben.

Die schnittstellenzuordnung gibt an, wie eine Schnittstelle in der tatsächlichen Member einer Klasse zugeordnet ist, das diese Schnittstelle implementiert.

Wenn die aktuelle Type einen konstruierten generischen Typ darstellt, Parameter durch die entsprechenden Typargumente in den Elementen des ersetzt werden die InterfaceMapping von dieser Methode zurückgegeben.

Im folgenden Beispiel wird die GetInterfaceMap Möglichkeit festzustellen, wie die IFormatProvider Schnittstelle ordnet CultureInfo Methoden, und wie die IAppDomainSetup Schnittstelle zugeordnet AppDomainSetup Eigenschaften. Beachten Sie, dass, da die IAppDomainSetup -Schnittstelle definiert einen Satz von Eigenschaften, die zurückgegebene InterfaceMapping Objekt enthält separate MethodInfo Objekte für eine Eigenschaft Get- und Set-Accessoren.

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
Verfügbar seit 1.1
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: