LocalBuilder.SetLocalSymInfo 方法

定義

設定區域變數的符號資訊。

多載

SetLocalSymInfo(String)

設定這個區域變數的名稱。

SetLocalSymInfo(String, Int32, Int32)

設定這個區域變數的名稱和語彙範圍 (Lexical Scope)。

SetLocalSymInfo(String)

設定這個區域變數的名稱。

public:
 void SetLocalSymInfo(System::String ^ name);
public void SetLocalSymInfo (string name);
member this.SetLocalSymInfo : string -> unit
Public Sub SetLocalSymInfo (name As String)

參數

name
String

區域變數的名稱。

例外狀況

包含的型別已使用 CreateType() 建立。

-或-

沒有為包含的模組所定義的符號寫入器。

這個區域是定義於動態方法中,而不是動態型別的方法中。

範例

下列程式代碼範例說明 方法的使用 SetLocalSymInfo 方式。 此程式代碼是類別較大範例 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)

備註

動態 SetLocalSymInfo 類型中定義的方法支援方法。 不支援使用 DynamicMethod 類別定義的動態方法。

適用於

SetLocalSymInfo(String, Int32, Int32)

設定這個區域變數的名稱和語彙範圍 (Lexical Scope)。

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)

參數

name
String

區域變數的名稱。

startOffset
Int32

區域變數語彙範圍的起始位移 (Offset)。

endOffset
Int32

區域變數語彙範圍的結束位移。

例外狀況

包含的型別已使用 CreateType() 建立。

-或-

沒有為包含的模組所定義的符號寫入器。

這個區域是定義於動態方法中,而不是動態型別的方法中。

範例

下列程式代碼範例說明 方法的使用 SetLocalSymInfo 方式。 此程式代碼是類別較大範例 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)

備註

動態 SetLocalSymInfo 類型中定義的方法支援方法。 不支援使用 DynamicMethod 類別定義的動態方法。

適用於