Поделиться через


SymWriter.DefineLocalVariable Метод

Определение

Определяет одну переменную в текущей лексической области видимости.

public:
 override void DefineLocalVariable(System::String ^ name, System::Reflection::FieldAttributes attributes, cli::array <System::Byte> ^ signature, System::Diagnostics::SymbolStore::SymAddressKind addrKind, int addr1, int addr2, int addr3, int startOffset, int endOffset);
public:
 virtual void DefineLocalVariable(System::String ^ name, System::Reflection::FieldAttributes attributes, cli::array <System::Byte> ^ signature, System::Diagnostics::SymbolStore::SymAddressKind addrKind, int addr1, int addr2, int addr3, int startOffset, int endOffset);
public override void DefineLocalVariable (string name, System.Reflection.FieldAttributes attributes, byte[] signature, System.Diagnostics.SymbolStore.SymAddressKind addrKind, int addr1, int addr2, int addr3, int startOffset, int endOffset);
public virtual void DefineLocalVariable (string name, System.Reflection.FieldAttributes attributes, byte[] signature, System.Diagnostics.SymbolStore.SymAddressKind addrKind, int addr1, int addr2, int addr3, int startOffset, int endOffset);
abstract member DefineLocalVariable : string * System.Reflection.FieldAttributes * byte[] * System.Diagnostics.SymbolStore.SymAddressKind * int * int * int * int * int -> unit
override this.DefineLocalVariable : string * System.Reflection.FieldAttributes * byte[] * System.Diagnostics.SymbolStore.SymAddressKind * int * int * int * int * int -> unit
Public Overrides Sub DefineLocalVariable (name As String, attributes As FieldAttributes, signature As Byte(), addrKind As SymAddressKind, addr1 As Integer, addr2 As Integer, addr3 As Integer, startOffset As Integer, endOffset As Integer)
Public Overridable Sub DefineLocalVariable (name As String, attributes As FieldAttributes, signature As Byte(), addrKind As SymAddressKind, addr1 As Integer, addr2 As Integer, addr3 As Integer, startOffset As Integer, endOffset As Integer)

Параметры

name
String

Имя локальной переменной.

attributes
FieldAttributes

Атрибуты локальной переменной, заданные с помощью перечислителя FieldAttributes.

signature
Byte[]

Подпись локальной переменной.

addrKind
SymAddressKind

Типы адресов addr1, addr2 и addr3, использующие SymAddressKind.

addr1
Int32

Первый адрес для спецификации локальной переменной.

addr2
Int32

Второй адрес для спецификации локальной переменной.

addr3
Int32

Третий адрес для спецификации локальной переменной.

startOffset
Int32

Начальное смещение для переменной. Если значение равно нулю, этот параметр пропускается и переменная определяется для всей области видимости. Если этот параметр имеет ненулевое значение, переменная находится в границах смещений текущей области видимости.

endOffset
Int32

Конечное смещение для переменной. Если значение равно нулю, этот параметр пропускается и переменная определяется для всей области видимости. Если этот параметр имеет ненулевое значение, переменная находится в границах смещений текущей области видимости.

Реализации

Комментарии

Параметры startOffset и endOffset являются необязательными. Если их значение равно нулю, они игнорируются и переменная определяется на протяжении всего область. Если их значение не равно нулю, они попадают в смещения текущего область.

Можно вызывать DefineLocalVariable несколько раз для переменной с одинаковым именем, которая встречается несколько раз в разных диапазонах смещения на протяжении область. (В этом случае начальные и конечные смещения не должны перекрываться.)

Применяется к