RuntimeHelpers.PrepareMethod 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.
Bereidt een methode voor opname in een beperkte uitvoeringsregio (CER).
Overloads
| Name | Description |
|---|---|
| PrepareMethod(RuntimeMethodHandle) |
Bereidt een methode voor opname in een beperkte uitvoeringsregio (CER). |
| PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) |
Bereidt een methode voor opname in een beperkte uitvoeringsregio (CER) met de opgegeven instantiëring. |
PrepareMethod(RuntimeMethodHandle)
Bereidt een methode voor opname in een beperkte uitvoeringsregio (CER).
public:
static void PrepareMethod(RuntimeMethodHandle method);
public static void PrepareMethod(RuntimeMethodHandle method);
[System.Security.SecurityCritical]
public static void PrepareMethod(RuntimeMethodHandle method);
static member PrepareMethod : RuntimeMethodHandle -> unit
[<System.Security.SecurityCritical>]
static member PrepareMethod : RuntimeMethodHandle -> unit
Public Shared Sub PrepareMethod (method As RuntimeMethodHandle)
Parameters
- method
- RuntimeMethodHandle
Een ingang voor de methode die moet worden voorbereid.
- Kenmerken
Opmerkingen
Compilers gebruiken de methode voor het PrepareMethod(RuntimeMethodHandle) verwerken van virtuele aanroepen die worden gedaan binnen een beperkte uitvoeringsregio (CER). Tijdens de compilatietijd van JIT beschikt de algemene taalruntime meestal niet over voldoende informatie over het doel van een virtuele aanroep. Daarom bereidt de runtime dat segment van de aanroepgrafiek in eerste instantie niet voor. Als de code die gebruikmaakt van de CER voldoende kennis heeft om het doel op een bepaald moment te bepalen voordat de CER daadwerkelijk wordt ingevoerd, kan deze aanroepen PrepareMethod(RuntimeMethodHandle) om dezelfde runtimevoorbereiding uit te voeren die normaal gesproken wordt uitgevoerd voor een CER die is geroot op de methode die is opgegeven als argument.
Van toepassing op
PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])
Bereidt een methode voor opname in een beperkte uitvoeringsregio (CER) met de opgegeven instantiëring.
public:
static void PrepareMethod(RuntimeMethodHandle method, cli::array <RuntimeTypeHandle> ^ instantiation);
public static void PrepareMethod(RuntimeMethodHandle method, RuntimeTypeHandle[] instantiation);
[System.Security.SecurityCritical]
public static void PrepareMethod(RuntimeMethodHandle method, RuntimeTypeHandle[] instantiation);
static member PrepareMethod : RuntimeMethodHandle * RuntimeTypeHandle[] -> unit
[<System.Security.SecurityCritical>]
static member PrepareMethod : RuntimeMethodHandle * RuntimeTypeHandle[] -> unit
Public Shared Sub PrepareMethod (method As RuntimeMethodHandle, instantiation As RuntimeTypeHandle())
Parameters
- method
- RuntimeMethodHandle
Een ingang voor de methode die moet worden voorbereid.
- instantiation
- RuntimeTypeHandle[]
De instantie die moet worden doorgegeven aan de methode.
- Kenmerken
Opmerkingen
U kunt algemene ondersteuning bieden voor compilers met behulp van de PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) methode. De algemene taalruntime kan geen beperkte uitvoeringsregio's (CER's) voorbereiden die zijn geroot in een methode met algemene typeparameters (ofwel een typeparameter voor de klasse die de methode bevat of één op de methode zelf) wanneer deze typeparameters worden geïnstantieerd als referentietypen.
U kunt deze overbelasting gebruiken om een specifieke instantie door te geven (zoals een matrix met typen), waarbij u eerst parameters van het klassetype opgeeft (indien van toepassing), gevolgd door parameters van het methodetype (indien van toepassing). De runtime bereidt die instantiëring van de methode voor. (Dit is alleen nodig als de instantiëringen die u gebruikt ten minste één verwijzingstypeparameter bevatten.) U kunt dus een CER-stijlcomponent try gebruiken in een algemene methode (of een niet-generische methode in een algemene klasse) en het werkt betrouwbaar met instantiëringen van Int32 of andere waardetypen. Als u referentietypen wilt instantiëren, zoals String, moet u eerst een expliciete PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) methode gebruiken voor de CER-hoofdmethode.