LocalBuilder.SetLocalSymInfo Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define as informações simbólicas da variável local.
Sobrecargas
SetLocalSymInfo(String) |
Define o nome dessa variável local. |
SetLocalSymInfo(String, Int32, Int32) |
Define o nome e o escopo léxico dessa variável local. |
SetLocalSymInfo(String)
Define o nome dessa variável local.
public:
void SetLocalSymInfo(System::String ^ name);
public void SetLocalSymInfo (string name);
member this.SetLocalSymInfo : string -> unit
Public Sub SetLocalSymInfo (name As String)
Parâmetros
- name
- String
O nome da variável local.
Exceções
O tipo de contenção foi criado com CreateType().
-ou-
Não há nenhum gravador simbólico definido para o módulo que contém.
Esse local é definido em um método dinâmico, em vez de em um método de um tipo dinâmico.
O name
é null
.
Exemplos
O exemplo de código a seguir ilustra o uso do método SetLocalSymInfo. Esse código faz parte de um exemplo maior para a classe LocalBuilder.
// Create local variables named myString and myInt.
LocalBuilder^ myLB1 = myMethodIL->DeclareLocal( String::typeid );
myLB1->SetLocalSymInfo( "myString" );
Console::WriteLine( "local 'myString' type is: {0}", myLB1->LocalType );
LocalBuilder^ myLB2 = myMethodIL->DeclareLocal( int::typeid );
myLB2->SetLocalSymInfo( "myInt", 1, 2 );
Console::WriteLine( "local 'myInt' type is: {0}", myLB2->LocalType );
// 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);
' Create local variables named myString and myInt.
Dim myLB1 As LocalBuilder = myMethodIL.DeclareLocal(GetType(String))
myLB1.SetLocalSymInfo("myString")
Console.WriteLine("local 'myString' type is: {0}", myLB1.LocalType)
Dim myLB2 As LocalBuilder = myMethodIL.DeclareLocal(GetType(Integer))
myLB2.SetLocalSymInfo("myInt", 1, 2)
Console.WriteLine("local 'myInt' type is: {0}", myLB2.LocalType)
Comentários
O método SetLocalSymInfo tem suporte para métodos definidos em tipos dinâmicos. Não há suporte para métodos dinâmicos definidos usando a classe DynamicMethod.
Aplica-se a
SetLocalSymInfo(String, Int32, Int32)
Define o nome e o escopo léxico dessa variável local.
public:
void SetLocalSymInfo(System::String ^ name, int startOffset, int endOffset);
public void SetLocalSymInfo (string name, int startOffset, int endOffset);
member this.SetLocalSymInfo : string * int * int -> unit
Public Sub SetLocalSymInfo (name As String, startOffset As Integer, endOffset As Integer)
Parâmetros
- name
- String
O nome da variável local.
- startOffset
- Int32
O deslocamento inicial do escopo léxico da variável local.
- endOffset
- Int32
O deslocamento final do escopo léxico da variável local.
Exceções
O tipo de contenção foi criado com CreateType().
-ou-
Não há nenhum gravador simbólico definido para o módulo que contém.
Esse local é definido em um método dinâmico, em vez de em um método de um tipo dinâmico.
Exemplos
O exemplo de código a seguir ilustra o uso do método SetLocalSymInfo. Esse código faz parte de um exemplo maior para a classe LocalBuilder.
// Create local variables named myString and myInt.
LocalBuilder^ myLB1 = myMethodIL->DeclareLocal( String::typeid );
myLB1->SetLocalSymInfo( "myString" );
Console::WriteLine( "local 'myString' type is: {0}", myLB1->LocalType );
LocalBuilder^ myLB2 = myMethodIL->DeclareLocal( int::typeid );
myLB2->SetLocalSymInfo( "myInt", 1, 2 );
Console::WriteLine( "local 'myInt' type is: {0}", myLB2->LocalType );
// 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);
' Create local variables named myString and myInt.
Dim myLB1 As LocalBuilder = myMethodIL.DeclareLocal(GetType(String))
myLB1.SetLocalSymInfo("myString")
Console.WriteLine("local 'myString' type is: {0}", myLB1.LocalType)
Dim myLB2 As LocalBuilder = myMethodIL.DeclareLocal(GetType(Integer))
myLB2.SetLocalSymInfo("myInt", 1, 2)
Console.WriteLine("local 'myInt' type is: {0}", myLB2.LocalType)
Comentários
O método SetLocalSymInfo tem suporte para métodos definidos em tipos dinâmicos. Não há suporte para métodos dinâmicos definidos usando a classe DynamicMethod.