Какой тип данных должен быть преобразован при передаче между .NET и COM-компонентами? - PullRequest
3 голосов
/ 24 июля 2011

Какой правильный ответ на следующий вопрос:

Какой тип данных должен быть преобразован при передаче между компонентами на основе .NET и COM?

  1. Объект класса, содержащий только простые типы значений
  2. Инварианты на основе COM
  3. Одномерные массивы
  4. Данные BSTR на основе COM
  5. Простые типы значений

1 Ответ

0 голосов
/ 07 августа 2011

Кажется, вы спрашиваете о blittable типах.См. MSDN о blittable типах.

Много полезной информации о маршалинге взаимодействия в этой области MSDN .

  1. Для объектов, содержащих типы значений, вы можете реализовать IConvertible интерфейс , где вы определяете, как каждый из членов класса преобразуется в тип варианта COM.Подробнее в этой статье MSDN .
  2. Вы можете сравнивать управляемые типы с типами COM здесь .
  3. Одномерные массивы blittable типов, напримеркак массив целых чисел, являются blittable.Однако тип, который содержит переменный массив blittable типов, сам по себе не является blittable.
  4. System.String по умолчанию маршалируется в BSTR и наоборот.
  5. Большинство простых типов являются blittable типамикоторые не требуют преобразования.Смотрите предыдущие ссылки.
...