ILGenerator.DeclareLocal Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Declareert een lokale variabele.
Overloads
| Name | Description |
|---|---|
| DeclareLocal(Type, Boolean) |
Declareert een lokale variabele van het opgegeven type, optioneel het object vastmaken waarnaar wordt verwezen door de variabele. |
| DeclareLocal(Type) |
Declareert een lokale variabele van het opgegeven type. |
DeclareLocal(Type, Boolean)
- Bron:
- ILGenerator.cs
- Bron:
- ILGenerator.cs
- Bron:
- ILGenerator.cs
- Bron:
- ILGenerator.cs
- Bron:
- ILGenerator.cs
Declareert een lokale variabele van het opgegeven type, optioneel het object vastmaken waarnaar wordt verwezen door de variabele.
public:
abstract System::Reflection::Emit::LocalBuilder ^ DeclareLocal(Type ^ localType, bool pinned);
public:
virtual System::Reflection::Emit::LocalBuilder ^ DeclareLocal(Type ^ localType, bool pinned);
public abstract System.Reflection.Emit.LocalBuilder DeclareLocal(Type localType, bool pinned);
public virtual System.Reflection.Emit.LocalBuilder DeclareLocal(Type localType, bool pinned);
abstract member DeclareLocal : Type * bool -> System.Reflection.Emit.LocalBuilder
abstract member DeclareLocal : Type * bool -> System.Reflection.Emit.LocalBuilder
override this.DeclareLocal : Type * bool -> System.Reflection.Emit.LocalBuilder
Public MustOverride Function DeclareLocal (localType As Type, pinned As Boolean) As LocalBuilder
Public Overridable Function DeclareLocal (localType As Type, pinned As Boolean) As LocalBuilder
Parameters
- pinned
- Boolean
true om het object in het geheugen vast te maken; anders, false.
Retouren
Een LocalBuilder object dat de lokale variabele vertegenwoordigt.
Uitzonderingen
localType is null.
Het type bevat is gemaakt door de CreateType() methode.
– of –
De hoofdtekst van de methode voor insluiten is gemaakt door de CreateMethodBody(Byte[], Int32) methode.
De methode waarmee dit ILGenerator is gekoppeld, wordt niet vertegenwoordigd door een MethodBuilder.
Opmerkingen
De lokale variabele wordt gemaakt in het huidige lexicale bereik; Als er bijvoorbeeld code wordt verzonden in een for lus (For lus in Visual Basic), is het bereik van de variabele de lus.
In onveilige code moet een object worden vastgemaakt voordat het kan worden verwezen door een onbeheerde aanwijzer. Hoewel het object waarnaar wordt verwezen is vastgemaakt, kan het niet worden verplaatst door garbagecollection.
Van toepassing op
DeclareLocal(Type)
- Bron:
- ILGenerator.cs
- Bron:
- ILGenerator.cs
- Bron:
- ILGenerator.cs
- Bron:
- ILGenerator.cs
- Bron:
- ILGenerator.cs
Declareert een lokale variabele van het opgegeven type.
public:
virtual System::Reflection::Emit::LocalBuilder ^ DeclareLocal(Type ^ localType);
public:
System::Reflection::Emit::LocalBuilder ^ DeclareLocal(Type ^ localType);
public virtual System.Reflection.Emit.LocalBuilder DeclareLocal(Type localType);
public System.Reflection.Emit.LocalBuilder DeclareLocal(Type localType);
abstract member DeclareLocal : Type -> System.Reflection.Emit.LocalBuilder
override this.DeclareLocal : Type -> System.Reflection.Emit.LocalBuilder
member this.DeclareLocal : Type -> System.Reflection.Emit.LocalBuilder
Public Overridable Function DeclareLocal (localType As Type) As LocalBuilder
Public Function DeclareLocal (localType As Type) As LocalBuilder
Parameters
Retouren
De gedeclareerde lokale variabele.
Uitzonderingen
localType is null.
Het type bevat is gemaakt door de CreateType() methode.
Voorbeelden
In het volgende codevoorbeeld ziet u het gebruik van de DeclareLocal methode. Deze code maakt deel uit van een groter codevoorbeeld voor de LocalBuilder klasse.
// 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)
Opmerkingen
De lokale variabele wordt gemaakt in het huidige lexicale bereik; Als er bijvoorbeeld code wordt verzonden in een for lus (For lus in Visual Basic), is het bereik van de variabele de lus.
Een lokale variabele die met deze overbelasting is gemaakt, wordt niet vastgemaakt. Als u een vastgemaakte variabele wilt maken voor gebruik met onbeheerde aanwijzers, gebruikt u de overbelasting van de DeclareLocal(Type, Boolean) methode.