是否可以推断ParameterInfo对象引用包含托管参数类型的函数指针?

时间:2009-10-22 15:52:30

标签: .net reflection c++-cli function-pointers

我正在使用反射检查以下方法声明,并想知道是否可以确定方法的唯一参数是函数指针。

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

检查ParameterInfo对象的foo参数时,会显示参数的类型为IntPtr;这是有道理的,因为函数指针不是本机CLR类型。

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

1 个答案:

答案 0 :(得分:0)

经过一番思考后,我非常确定这是不可能的。由于foo的函数参数是 native 指针,因此托管反射系统无法超越该层,并始终将参数显示为{{1 }}