ILGenerator.DeclareLocal Método

Definição

Declara uma variável local.

Sobrecargas

DeclareLocal(Type, Boolean)

Declara uma variável local do tipo especificado, opcionalmente fixar o objeto referenciado pela variável.

DeclareLocal(Type)

Declara uma variável local do tipo especificado.

DeclareLocal(Type, Boolean)

Origem:
ILGenerator.cs
Origem:
ILGenerator.cs
Origem:
ILGenerator.cs

Declara uma variável local do tipo especificado, opcionalmente fixar o objeto referenciado pela variável.

public virtual System.Reflection.Emit.LocalBuilder DeclareLocal (Type localType, bool pinned);
public abstract System.Reflection.Emit.LocalBuilder DeclareLocal (Type localType, bool pinned);

Parâmetros

localType
Type

Um objeto Type que representa o tipo da variável local.

pinned
Boolean

true para fixar o objeto na memória; caso contrário, false.

Retornos

Um objeto LocalBuilder que representa a variável local.

Exceções

localType é null.

O tipo recipiente foi criado pelo método CreateType().

- ou -

O corpo do método delimitador foi criado pelo método CreateMethodBody(Byte[], Int32).

O método com o qual este ILGenerator está associado não é representado por um MethodBuilder.

Comentários

A variável local é criada no escopo lexical atual; por exemplo, se o código estiver sendo emitido em um for loop (For loop no Visual Basic), o escopo da variável será o loop.

Em código não seguro, um objeto deve ser fixado antes de ser referenciado por um ponteiro não gerenciado. Embora o objeto referenciado esteja fixado, ele não pode ser movido pela coleta de lixo.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

DeclareLocal(Type)

Origem:
ILGenerator.cs
Origem:
ILGenerator.cs
Origem:
ILGenerator.cs

Declara uma variável local do tipo especificado.

public virtual System.Reflection.Emit.LocalBuilder DeclareLocal (Type localType);
public System.Reflection.Emit.LocalBuilder DeclareLocal (Type localType);

Parâmetros

localType
Type

Um objeto Type que representa o tipo da variável local.

Retornos

A variável local declarada.

Exceções

localType é null.

O tipo recipiente foi criado pelo método CreateType().

Exemplos

O exemplo de código a seguir demonstra o uso do DeclareLocal método . Esse código faz parte de um exemplo de código maior para a LocalBuilder classe .

// Create local variables named myString and myInt.
LocalBuilder myLB1 = myMethodIL.DeclareLocal(typeof(string));
myLB1.SetLocalSymInfo("myString");
Console.WriteLine("local 'myString' type is: {0}", myLB1.LocalType);

LocalBuilder myLB2 = myMethodIL.DeclareLocal(typeof(int));
myLB2.SetLocalSymInfo("myInt", 1, 2);
Console.WriteLine("local 'myInt' type is: {0}", myLB2.LocalType);

Comentários

A variável local é criada no escopo lexical atual; por exemplo, se o código estiver sendo emitido em um for loop (For loop no Visual Basic), o escopo da variável será o loop.

Uma variável local criada com essa sobrecarga não está fixada. Para criar uma variável fixada para uso com ponteiros não gerenciados, use a sobrecarga do DeclareLocal(Type, Boolean) método.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1