ParameterInfo 객체가 관리되는 매개 변수 유형을 포함하는 함수 포인터를 지칭한다고 추론 할 수 있습니까?
-
05-07-2019 - |
문제
반사를 사용하여 다음 방법 선언을 검사하고 있으며 방법의 유일한 매개 변수가 함수 포인터인지 확인할 수 있는지 궁금합니다.
public ref class T
{
public:
void foo(Int32 (*)(String^, array<TimeSpan>^)) { }
};
검사 할 때 ParameterInfo
대상 foo
의 매개 변수는 매개 변수 유형이 IntPtr
; 함수 포인터가 기본 CLR 유형이 아니기 때문에 이것은 의미가 있습니다.
기능 포인터에는 관리 된 매개 변수 유형 만 포함되므로 ParameterInfo
. 속성이나 속성이 표시되지 않습니다 ParameterInfo
그리고 Type
그것은 내가 이것을 구별하는 데 도움이 될 수 있습니다 IntPtr
함수 포인터로 인스턴스 - 무엇입니까?
해결책
어떤 생각 이후, 나는 이것이 불가능하다고 확신합니다. 함수 인수 이후 foo
a 토종의 포인터, the 관리 반사 시스템은 그 층을 넘어 볼 수 없으며 항상 논쟁을 다음과 같이 제시합니다. IntPtr
.
제휴하지 않습니다 StackOverflow