В следующей таблице перечислены правила преобразования данных, использованные при преобразовании нативных типов.NET в массивы MATLAB®.
Правила преобразования, перечисленные в этих таблицах, применяются к скалярам, векторам, матрицам и многомерным массивам нативных перечисленных типов.
Правила преобразования: управляемые типы к массивам MATLAB
Нативный тип.NET | Массив MATLAB | Комментарии |
---|---|---|
|
| — |
|
| Доступный только, когда аргумент конструктора |
|
| |
|
| |
|
| |
|
| |
|
| 'none' |
|
| 'none' |
В следующей таблице перечислены правила преобразования данных, использованные при преобразовании массивов MATLAB в нативные типы.NET.
Правила преобразования применяются к скалярам, векторам, матрицам и многомерным массивам перечисленных типов MATLAB.
Правила преобразования: массивы MATLAB к управляемым типам
Тип MATLAB | (Примитивный) Тип.NET | Тип.NET (Класс) | Комментарии |
---|---|---|---|
| Нет данных |
| Ячейка и массивы структур не имеют никакого соответствующего типа.NET. |
| Нет данных |
| |
|
|
| |
|
|
| Значением по умолчанию является тип дважды. |
|
|
| |
|
|
| Преобразование в эквивалентный тип без знака не поддержано |
|
|
| Преобразование в эквивалентный тип без знака не поддержано |
|
|
| Преобразование в эквивалентный тип без знака не поддержано |
|
|
| 'none' |
|
|
| 'none' |
Указатель на функцию | Нет данных | Нет данных | 'none' |
Объект | Нет данных | Нет данных | 'none' |
В порядке создать интерфейсы.NET, которые описывают безопасный с точки зрения типов API MATLAB Compiler SDK™, сгенерировал компонент, необходимо выбрать типы.NET, используемые для параметров ввода и вывода.
Когда выбор ввел типы, рассматривает, как входные параметры.NET становятся типами MATLAB. Когда выбор вывел типы, рассматривает обратное преобразование
Следующие таблицы приводят результаты преобразования данных, и правила раньше преобразовывали типы.NET в массивы MATLAB и массивы MATLAB к типам.NET.
Недопустимые преобразования приводят к выданному ArgumentException
Результаты преобразования: типы.NET к типам MATLAB
Тип.NET | Преобразовывает в тип MATLAB |
---|---|
| numeric |
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Скалярный struct.NET | Struct MATLAB создается из полей экземпляра public struct.NET |
Struct.NET [N ] |
|
Struct.NET [ | Struct MATLAB [ |
native.MWStructArray | struct |
native.MWCellArray | cell |
Hashtable | struct |
Dictionary <K , V >Где | struct |
ArrayList | cell |
Любой другой тип.NET в домене приложения по умолчанию | Объект.NET |
Любой другой сериализуемый.NET вводит в домене приложения не по умолчанию | Объект.NET |
Правила преобразования: MATLAB числовые типы к типам.NET
Преобразовывать этот тип MATLAB: | К этому: | Следуйте этим правилам: |
---|---|---|
numeric | Скаляр | Тип должен быть скаляром в MATLAB. Например, 1 X 1 |
Вектор | Тип должен быть вектором в MATLAB. Например, 1 X | |
массив |
|
При преобразовании MATLAB позволены массивы numeric
, расширении преобразований. Например, int
может быть преобразован в double
. Заданный тип должен быть числовым типом, который равен или более широк. Сужение преобразований выдает ArgumentException
.
Типы.NET не так гибки как типы MATLAB. Заботьтесь и протестируйте соответственно с.NET выходные параметры перед объединяющимися данными в ваши приложения.
Правила преобразования: массивы символов MATLAB к типам.NET
Преобразовывать этот тип MATLAB: | К этому: | Следуйте этим правилам: |
---|---|---|
char | Char | char должен быть скаляром. |
CharArray |
| |
String | MATLAB массив | |
StringArray |
|
Правила преобразования: логические массивы MATLAB к типам.NET
Преобразовывать этот тип MATLAB: | К этому: | Следуйте этим правилам: |
---|---|---|
logical | Boolean | logical должен быть скаляром. |
Boolean[] | Массивом | |
Массив Boolean |
|
Правила преобразования: массив ячеек к типам.NET
Преобразовывать этот тип MATLAB: | К этому: | Следуйте этим правилам: |
---|---|---|
cell | System.Array |
|
ArrayList | Массив cell MATLAB должен быть вектором. |
Если массив cell
MATLAB содержит struct
, он оставлен без изменений. Все другие типы преобразованы в нативные типы. Любой вложил массив cell
, преобразован в System.Array
, совпадающий с размерностью массива cell
, как проиллюстрировано в этом фрагменте кода:
Let C = {[1,2,3], {[1,2,3]},'Hello world'} % be a cell
C
может быть преобразован в object[1,3]
, где object[1,1]
содержит int[,]
, object[1,2]
содержит object[1,1]
, первым элементом которого является int[,]
, и object[1,3]
содержит char[,]
.Любой вложенный массив ячеек преобразован в System.Array
, который совпадает с размерностью массива cell
Правила преобразования: Struct к типам.NET
Преобразовывать этот тип MATLAB: | К этому: | Следуйте этим правилам: |
---|---|---|
struct | .NET struct | Имя и номер общедоступных полей в заданном struct.NET должно совпадать с именем и номером полей в struct MATLAB. |
Hashtable | Скалярный |
Правила преобразования: объекты.NET в MATLAB к собственным объектам.NET
Преобразовывать этот Тип MATLAB: | К этому: | Следуйте этим правилам: |
---|---|---|
Объект.NET | Тип или супертип содержания объекта | A. СЕТЕВОЙ объект в MATLAB может только быть преобразован в тип или супертип. |
Нативная строка.NET преобразована в 1
-by-N
символьный массив MATLAB с N
, равным длине строки.NET.
Массив строк.NET (string[]
) преобразован в M
-by-N
символьный массив с M
, равным числу элементов в строке ([]
) массив и N
, равный максимальной длине строки в массиве.
Выше размерные массивы String
так же преобразованы.
В целом N
- размерный массив String
преобразован в +1
N
размерный символьный массив MATLAB с соответствующим нулевым дополнением, где предоставленные строки имеют различные длины.
Продукт MATLAB Compiler SDK не поддерживает возврат следующих типов массива MATLAB, потому что они не CLS-совместимы:
int8
uint16
uint32
uint64
Однако допустимо передать эти типы в качестве аргументов к компоненту MATLAB Compiler SDK.