MethodHandles.Lookup.UnreflectSpecial(Method, Class) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erzeugt ein Methodenhandle für eine reflektierte Methode.
[Android.Runtime.Register("unreflectSpecial", "(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public Java.Lang.Invoke.MethodHandle UnreflectSpecial(Java.Lang.Reflect.Method m, Java.Lang.Class specialCaller);
[<Android.Runtime.Register("unreflectSpecial", "(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
member this.UnreflectSpecial : Java.Lang.Reflect.Method * Java.Lang.Class -> Java.Lang.Invoke.MethodHandle
Parameter
- m
- Method
die reflektierte Methode
- specialCaller
- Class
die Klasse, die die Methode nominal aufruft
Gibt zurück
ein Methodenhandle, mit dem die reflektierte Methode aufgerufen werden kann
- Attribute
Hinweise
Erzeugt ein Methodenhandle für eine reflektierte Methode. Es wird Überprüfungen auf Außerkraftsetzungsmethoden für den Empfänger umgangen, als ob von einer invokespecial Anweisung innerhalb der explizit angegebenen specialCalleraufgerufen wird. Der Typ des Methodenhandles ist die der Methode, wobei ein entsprechend eingeschränkter Empfängertyp vorangestellt ist. (Der Empfängertyp ist specialCaller oder ein Untertyp.) Wenn das Flag der Methode accessible nicht festgelegt ist, wird die Zugriffsüberprüfung sofort im Auftrag der Nachschlageklasse ausgeführt, als ob invokespecial eine Anweisung verknüpft wurde.
Wenn die explizit angegebene Aufruferklasse nicht mit der Nachschlageklasse identisch ist oder dieses Nachschlageobjekt nicht über private Zugriffsberechtigungen verfügt, schlägt der Zugriff fehl.
Der zurückgegebene Methodenhandle weist die Variable MethodHandle#asVarargsCollector auf, wenn und nur dann, wenn der Variablenvariablen-Modifizierer bit (0x0080) der Methode festgelegt ist.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.