CLS-совместимые типы в вспомогательной сборке P / Invoke

Наличие отдельной вспомогательной сборки, содержащей только объявления P / Invoke для устаревших сторонних компонентов Мне интересно, какой из этих двух способов является Лучшим ™, если сборка должна быть помечена как совместимая с CLS:

  • Используйте Int32 в общедоступном объявлении P / Invoke, где неуправляемое объявление имеет целое число без знака .
  • Используйте UInt32 во внутреннем объявлении P / Invoke, где неуправляемое объявление имеет unsigned int , и заключите его в общедоступное метод, который принимает Int32 и преобразует его в UInt32 при вызове внутреннего метода .

Каковы их преимущества и недостатки?

1
задан HostileFork 14 November 2012 в 17:51
поделиться