2009-10-22 19 views
1

我正在使用反射來檢查以下方法聲明,並且想知道是否可以確定該方法的唯一參數是函數指針。是否可以推斷ParameterInfo對象引用包含受管參數類型的函數指針?

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

當檢查用於foo的參數的ParameterInfo對象,它示出了參數的類型是IntPtr;這是有道理的,因爲函數指針不是本機CLR類型。

由於函數指針僅包含受管參數類型,因此我希望在ParameterInfo中獲得一些額外的上下文。我沒有看到ParameterInfoType中的任何屬性或屬性,這可能會幫助我將這個IntPtr實例區分爲函數指針 - 有沒有?

回答

0

經過一番思考,我很肯定這是不可能的。由於foo的函數參數是本機指針,因此反射系統無法看到該層之外並始終將參數顯示爲IntPtr

相關問題