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

LocalVariableInfo-Klasse

 

Veröffentlicht: Oktober 2016

Ermittelt die Attribute einer lokalen Variablen und ermöglicht den Zugriff auf die Metadaten der lokalen Variablen.

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

System.Object
  System.Reflection.LocalVariableInfo
    System.Reflection.Emit.LocalBuilder

[ComVisibleAttribute(true)]
public class LocalVariableInfo

NameBeschreibung
System_CAPS_protmethodLocalVariableInfo()

Initialisiert eine neue Instanz der LocalVariableInfo-Klasse.

NameBeschreibung
System_CAPS_pubpropertyIsPinned

Ruft einen Boolean -Wert, der angibt, ob das Objekt auf die lokale Variable verweist, im Arbeitsspeicher fixiert ist.

System_CAPS_pubpropertyLocalIndex

Ruft den Index der lokalen Variablen innerhalb des Methodentexts.

System_CAPS_pubpropertyLocalType

Ruft den Typ der lokalen Variablen ab.

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

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

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_pubmethodToString()

Gibt eine Benutzer lesbare Zeichenfolge, die die lokale Variable beschreibt.(Überschreibt Object.ToString().)

Verwenden Sie zum Abrufen einer Liste von lokalen Variablen in einer Methode die MethodBody.LocalVariables Eigenschaft. Verwenden der MethodBase.GetMethodBody -Methode zum Abrufen der MethodBody für ein MethodInfo Objekt.

System_CAPS_noteHinweis

Namen lokaler Variable werden in den Metadaten nicht beibehalten. In Microsoft intermediate Language (MSIL) werden lokale Variablen über ihre Position in die lokale Variablensignatur zugegriffen.

Im folgenden Beispiel wird eine Testmethode mit dem Namen MethodBodyExample, und ihre lokalen Variableninformationen angezeigt. Die GetMethodBody Methode wird zum Abrufen einer MethodBody -Objekt für die Testmethode. Die LocalVariables Eigenschaft wird dann zum Abrufen einer Liste der LocalVariableInfo Objekte und zum Anzeigen ihrer Typen und Indexreihenfolge.

Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die MethodBody Klasse.

using System;
using System.Reflection;

public class Example
{
    public static void Main()
    {
        // Get method body information.
        MethodInfo mi = typeof(Example).GetMethod("MethodBodyExample");
        MethodBody mb = mi.GetMethodBody();
        Console.WriteLine("\r\nMethod: {0}", mi);

        // Display the general information included in the 
        // MethodBody object.
        Console.WriteLine("    Local variables are initialized: {0}", 
            mb.InitLocals);
        Console.WriteLine("    Maximum number of items on the operand stack: {0}", 
            mb.MaxStackSize);

// Display information about the local variables in the
// method body.
Console.WriteLine();
foreach (LocalVariableInfo lvi in mb.LocalVariables)
{
    Console.WriteLine("Local variable: {0}", lvi);
}
    }

    // The Main method contains code to analyze this method, using
    // the properties and methods of the MethodBody class.
    public void MethodBodyExample(object arg)
    {
        // Define some local variables. In addition to these variables,
        // the local variable list includes the variables scoped to 
        // the catch clauses.
        int var1 = 42;
        string var2 = "Forty-two";

        try
        {
            // Depending on the input value, throw an ArgumentException or 
            // an ArgumentNullException to test the Catch clauses.
            if (arg == null)
            {
                throw new ArgumentNullException("The argument cannot be null.");
            }
            if (arg.GetType() == typeof(string))
            {
                throw new ArgumentException("The argument cannot be a string.");
            }        
        }

        // There is no Filter clause in this code example. See the Visual 
        // Basic code for an example of a Filter clause.

        // This catch clause handles the ArgumentException class, and
        // any other class derived from Exception.
        catch(Exception ex)
        {
            Console.WriteLine("Ordinary exception-handling clause caught: {0}", 
                ex.GetType());
        }        
        finally
        {
            var1 = 3033;
            var2 = "Another string.";
        }
    }
}

// This code example produces output similar to the following:
//
//Method: Void MethodBodyExample(System.Object)
//    Local variables are initialized: True
//    Maximum number of items on the operand stack: 2
//
//Local variable: System.Int32 (0)
//Local variable: System.String (1)
//Local variable: System.Exception (2)
//Local variable: System.Boolean (3)

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 2.0
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: