Как узнать, является ли параметр, отраженный в C ++ / CLI, long или int? - PullRequest
1 голос
/ 11 марта 2010

Я отражаю метод C ++ / CLI, имеющий следующую подпись:

void foo(long n);

Это переводится на C # как:

void foo(int modopt(IsLong) n);

Как я могу определить, является ли параметр int на самом деле длинным C ++ / CLI по отражению?

1 Ответ

1 голос
/ 11 марта 2010

Проверьте дополнительные пользовательские модификаторы экземпляра ParameterInfo:

bool IsLongParameter(System.Reflection.ParameterInfo p) {
   Type[] modifiers = p.GetOptionalCustomModifiers();
   return modifiers.Contains(typeof(System.Runtime.CompilerServices.IsLong));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...