SymWriter.DefineLocalVariable 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在当前词法范围内定义单个变量。
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
使用 SymAddressKind 的 addr1
、addr2
和 addr3
的地址类型。
- addr1
- Int32
局部变量规格的第一个地址。
- addr2
- Int32
局部变量规格的第二个地址。
- addr3
- Int32
局部变量规格的第三个地址。
- startOffset
- Int32
变量的起始偏移量。 如果为零,则忽略此参数,并在整个范围内定义变量。 如果不为零,则它处于当前范围的偏移量内。
- endOffset
- Int32
变量的结束偏移量。 如果为零,则忽略此参数,并在整个范围内定义变量。 如果不为零,则它处于当前范围的偏移量内。
实现
注解
startOffset
和 endOffset
参数是可选参数。 如果它们的值为零,则忽略它们,并在整个范围内定义变量。 如果它们的值为非零值,则它们位于当前范围的偏移量范围内。
你可以为同名变量多次调用 DefineLocalVariable ,该变量在整个范围内在不同的偏移范围内多次发生。 (在这种情况下,起始偏移量和结束偏移量不得重叠。)