2009-10-22 54 views
1

我正在使用反射来检查以下方法声明,并且想知道是否可以确定该方法的唯一参数是函数指针。是否可以推断ParameterInfo对象引用包含受管参数类型的函数指针?

public ref class T 
{ 
public: 
    void foo(Int32 (*)(String^, array<TimeSpan>^)) { } 
}; 

当检查用于foo的参数的ParameterInfo对象,它示出了参数的类型是IntPtr;这是有道理的,因为函数指针不是本机CLR类型。

由于函数指针仅包含受管参数类型,因此我希望在ParameterInfo中获得一些额外的上下文。我没有看到ParameterInfoType中的任何属性或属性,这可能会帮助我将这个IntPtr实例区分为函数指针 - 有没有?

回答

0

经过一番思考,我很肯定这是不可能的。由于foo的函数参数是本机指针,因此反射系统无法看到该层之外并始终将参数显示为IntPtr

相关问题