我正在使用反射检查以下方法声明,并想知道是否可以确定方法的唯一参数是函数指针。
public ref class T
{
public:
void foo(Int32 (*)(String^, array<TimeSpan>^)) { }
};
检查ParameterInfo
对象的foo
参数时,会显示参数的类型为IntPtr
;这是有道理的,因为函数指针不是本机CLR类型。
由于函数指针只包含托管参数类型,我希望在ParameterInfo
中获得一些额外的上下文。我在ParameterInfo
和Type
中没有看到任何可以帮助我将此IntPtr
实例区分为函数指针的属性或属性 - 是否有?
答案 0 :(得分:0)
foo
的函数参数是 native 指针,因此托管反射系统无法超越该层,并始终将参数显示为{{1 }}