IDebugMethodField::EnumLocals
Cria um enumerador para variáveis locais selecionadas do método.
Sintaxe
Parâmetros
pAddress
[em] Um objeto IDebugAddress que representa o endereço de depuração que seleciona o contexto ou o escopo do qual obter os locais.
ppLocals
[saiu] Retorna um objeto IEnumDebugFields que representa uma lista de locais, caso contrário, retorna um valor nulo se não houver locais.
Valor de retorno
Se for bem-sucedido, retorna S_OK ou retorna S_FALSE se não houver moradores locais. Caso contrário, retornará um código de erro.
Comentários
Somente as variáveis definidas dentro do bloco que contém o endereço de depuração fornecido são enumeradas. Se todos os locais, incluindo quaisquer locais gerados pelo compilador, forem necessários, chame o método EnumAllLocals .
Um método pode conter vários contextos ou blocos de escopo. Por exemplo, o método inventado a seguir contém três escopos, os dois blocos internos e o próprio corpo do método.
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;
}
}
O objeto IDebugMethodField representa o func
próprio método. Chamar o método com um IDebugAddress definido para o EnumLocals
Inner Scope 1
endereço retorna uma enumeração que contém a temp1
variável, por exemplo.