Condividi tramite


IDebugMethodField::EnumLocals

Crea un enumeratore per le variabili locali selezionate del metodo.

Sintassi

int EnumLocals(
    IDebugAddress        pAddress,
    out IEnumDebugFields ppLocals
);

Parametri

pAddress
[in] Oggetto IDebugAddress che rappresenta l'indirizzo di debug che seleziona il contesto o l'ambito da cui ottenere le variabili locali.

ppLocals
[out] Restituisce un oggetto IEnumDebugFields che rappresenta un elenco delle variabili locali. In caso contrario, restituisce un valore Null se non sono presenti variabili locali.

Valore restituito

In caso di esito positivo, restituisce S_OK o restituisce S_FALedizione Standard se non sono presenti variabili locali. In caso contrario, verrà restituito un codice di errore.

Osservazioni:

Vengono enumerate solo le variabili definite all'interno del blocco che contiene l'indirizzo di debug specificato. Se sono necessarie tutte le variabili locali incluse nel compilatore, chiamare il metodo EnumAllLocals .

Un metodo può contenere più contesti o blocchi di ambito. Ad esempio, il metodo contrived seguente contiene tre ambiti, i due blocchi interni e il corpo del metodo stesso.

public void func(int index)
{
    // Method body scope
    int a = 0;
    if (index == 1)
    {
        // Inner scope 1
        int temp1 = a;
    }
    else
    {
        // Inner scope 2
        int temp2 = a;
    }
}

L'oggetto IDebugMethodField rappresenta il func metodo stesso. La chiamata al EnumLocals metodo con un oggetto IDebugAddress impostato sull'indirizzo restituisce, ad esempio, un'enumerazione Inner Scope 1 contenente la temp1 variabile.

Vedi anche