MethodHandles.ExactInvoker(MethodType) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 형식MethodHandle#invokeExact invokeExact의 메서드 핸들을 호출하는 데 사용할 수 있는 특수 <em>호출자 메서드 핸들</em>을 생성합니다.
[Android.Runtime.Register("exactInvoker", "(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public static Java.Lang.Invoke.MethodHandle? ExactInvoker(Java.Lang.Invoke.MethodType? type);
[<Android.Runtime.Register("exactInvoker", "(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
static member ExactInvoker : Java.Lang.Invoke.MethodType -> Java.Lang.Invoke.MethodHandle
매개 변수
- type
- MethodType
원하는 대상 형식
반품
지정된 형식의 메서드 핸들을 호출하는 데 적합한 메서드 핸들
- 특성
설명
지정된 형식MethodHandle#invokeExact invokeExact의 메서드 핸들을 호출하는 데 사용할 수 있는 특수 <em>호출자 메서드 핸들</em>을 생성합니다. 결과 호출자는 형식의 추가 선행 인수를 허용한다는 점을 제외하고 원하는 형식과 정확히 동일한 형식 MethodHandle을 갖습니다.
이 메서드는 다음 코드와 동일합니다(더 효율적일 수 있음). publicLookup().findVirtual(MethodHandle.class, "invokeExact", type)
<em>Discussion:</em> Invoker 메서드 핸들은 알 수 없는 형식의 변수 메서드 핸들을 사용할 때 유용할 수 있습니다. 예를 들어 변수 메서드 핸들M에 대한 호출을 에 invokeExact 뮬레이트하려면 해당 형식T을 추출하고 호출자 메서드를 T조회한 다음 호출자 메서드 X 를 다음과 같이 X.invoke(T, A...)호출합니다. (형식 T 을 알 수 없으므로 호출X.invokeExact하는 것은 작동하지 않습니다.) 확산, 수집 또는 기타 인수 변환이 필요한 경우 호출자에 X 한 번 적용하고 형식과 호환X되는 한 여러 M 메서드 핸들 값에서 다시 사용할 수 있습니다.
<em>(참고: 호출자 메서드는 핵심 리플렉션 API를 통해 사용할 수 없습니다. 선언 invokeExact 된 또는 invokejava.lang.UnsupportedOperationException UnsupportedOperationException메서드에서 java.lang.reflect.Method#invoke java.lang.reflect.Method.invoke를 호출하려고 하면 .)</em>
이 메서드는 반사 또는 보안 예외를 throw하지 않습니다.
에 대한 java.lang.invoke.MethodHandles.exactInvoker(java.lang.invoke.MethodType)Java 설명서
이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.