Можно ли сделать вывод, что объект ParameterInfo ссылается на указатель функции, содержащий типы управляемых параметров? - PullRequest
1 голос
/ 22 октября 2009

Я использую рефлексию, чтобы проверить следующее объявление метода, и мне интересно, можно ли определить, что единственным параметром метода является указатель на функцию.

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

При проверке объекта ParameterInfo для параметра foo он показывает, что тип параметра равен IntPtr; это имеет смысл, поскольку указатель на функцию не является собственным типом CLR.

Поскольку указатель на функцию содержит только управляемые типы параметров, я надеялся получить дополнительный контекст в ParameterInfo. Я не вижу никаких свойств или атрибутов в ParameterInfo и Type, которые могли бы помочь мне отличить этот экземпляр IntPtr как указатель на функцию - есть ли какие-нибудь?

1 Ответ

0 голосов
/ 07 сентября 2010

Подумав, я уверен, что это невозможно. Поскольку аргумент функции foo является указателем native , система отражения управляемого не может видеть за пределами этого слоя и всегда будет представлять аргумент как IntPtr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...