0
, C#으로 I는Java가 다른 언어에서받은 정적 메서드의 대리자를 받고 호출 할 수 있습니까? 예를 들어
[MonoPInvokeCallback(typeof(PointDelegate))]
public static void Callback(int x, int y)
{ .... }
이 방법은 서명 복귀 공극 (INT, INT)의 위임에 저장되어있다.
public delegate void PointDelegate(int x, int y);
나는 거기 내가
Callback()
를 호출하는 직접 호출 할 수 있었다 오브젝티브 C이 위임 변수를 전송합니다. 그냥 작동합니다.
C#
objC(Callback);
목표 - C
typedef void (*PointDelegate)(int x, int y);
void objC(PointDelegate delegateFromCSharp)
{
delegateFromCSharp(1,2);
}
자바에 상응하는 무엇입니까
를 (I 일치하는 목표 - C 측에 해당하는typedef
를 선언 한)? Java에서 메서드를 호출 할 수 있고 대리자가 유일한 매개 변수로 전달된다고 가정하면 해당 Java 메서드의 서명은 무엇입니까? 그리고받은 대리인을 호출하는 방법?
네이티브라고합니다. 예를 들어 Thread의 구현을 보라. http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/Thread.java – Noixes
자바는 델리게이트 개념이 없다. 기능 인터페이스 및 메소드 참조를 사용할 수 있습니다 (https://stackoverflow.com/questions/39346343/java-equivalent-of-c-sharp-delegates-queues-methods-of-various-classes-to-be-ex 참조) . –