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

MethodImplAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Gibt die Implementierungsdetails für eine Methode an. Diese Klasse kann nicht vererbt werden.

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

System.Object
  System.Attribute
    System.Runtime.CompilerServices.MethodImplAttribute

[SerializableAttribute]
[AttributeUsageAttribute(AttributeTargets.Constructor | AttributeTargets.Method, 
	Inherited = false)]
[ComVisibleAttribute(true)]
public sealed class MethodImplAttribute : Attribute

NameBeschreibung
System_CAPS_pubmethodMethodImplAttribute()

Initialisiert eine neue Instanz der MethodImplAttribute-Klasse.

System_CAPS_pubmethodMethodImplAttribute(Int16)

Initialisiert eine neue Instanz der MethodImplAttribute-Klasse mit dem angegebenen MethodImplOptions-Wert.

System_CAPS_pubmethodMethodImplAttribute(MethodImplOptions)

Initialisiert eine neue Instanz der MethodImplAttribute-Klasse mit dem angegebenen MethodImplOptions-Wert.

NameBeschreibung
System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

System_CAPS_pubpropertyValue

Ruft den MethodImplOptions -Wert, der die attributierte Methode beschreibt.

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubfieldMethodCodeType

Ein MethodCodeType Wert, der angibt, welche Art von Implementierung für diese Methode bereitgestellt wird.

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.)

Dieses Attribut kann auf Methoden oder Konstruktoren angewendet werden.

Dieses Attribut können Sie anpassen, die Konfiguration der Methode oder der Konstruktor für die sie durch Angabe gilt ein MethodImplOptions Wert an den Klassenkonstruktor. Die Mitglieder der MethodImplOptions -Enumeration entsprechen Bitfeldern in der CorMethodImpl -Tabelle. Dies bedeutet, dass zur Laufzeit durch Aufrufen von Informationen über das Attribut abgerufen werden kann die MemberInfo.GetCustomAttributes Methode wird stattdessen durch Aufruf abgerufen die MethodInfo.GetMethodImplementationFlags oder die ConstructorInfo.GetMethodImplementationFlags Methode.

Im folgenden Beispiel wird die MethodImplAttribute an die GetCalendarName Methode, um sicherzustellen, dass es nicht inline zur Laufzeit durch den Just-in-Time (JIT)-Compiler.

using System;
using System.Globalization;
using System.Runtime.CompilerServices;

public class Utility
{
   [MethodImplAttribute(MethodImplOptions.NoInlining)] 
   public static string GetCalendarName(Calendar cal)
   {
      return cal.ToString().Replace("System.Globalization.", "").
                 Replace("Calendar", "");
   }
}

Das folgende Beispiel ruft dann die MethodInfo.GetMethodImplementationFlags Methode, um zu bestimmen, welche Flags festgelegt sind, für die GetCalendarName Methode. Es veranschaulicht auch, dass diese Informationen nicht durch abgerufen werden die MemberInfo.GetCustomAttributes Methode.

using System;
using System.Reflection;

public class Example
{
   public static void Main()
   {
      // Use reflection to get a reference to the GetCalendarName method.
      Assembly assem = Assembly.LoadFrom(@".\Example.dll");
      Type type = assem.GetType("Utility");
      MethodInfo methodInfo = type.GetMethod("GetCalendarName");

      // Determine whether the method has any custom attributes.
      Console.Write("Utility.GetCalendarName custom attributes:");
      object[] attribs = methodInfo.GetCustomAttributes(false);
      if (attribs.Length > 0) {
         Console.WriteLine();
         foreach (var attrib in attribs)
            Console.WriteLine("   " + attrib.ToString());   

      }
      else {
         Console.WriteLine("   <None>");
      }

      // Get the method's metadata flags.
      MethodImplAttributes flags = methodInfo.GetMethodImplementationFlags();
      Console.WriteLine("Utility.GetCalendarName flags: {0}", 
                        flags.ToString());      
   }
}
// The example displays the following output:
//     Utility.GetCalendarName custom attributes:   <None>
//     Utility.GetCalendarName flags: NoInlining

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: