Обработка данных, возвращенных в объекты.NET

Тип.NET к отображению типа MATLAB

MATLAB® автоматически преобразует данные из объекта.NET в эти типы MATLAB. Эти значения отображены в сигнатуре метода.

Тип.NET C#Тип MATLAB
System.Int16int16 скаляр
System.UInt16uint16 скаляр
System.Int32int32 скаляр
System.UInt32uint32 скаляр
System.Int64int64 скаляр
System.UInt64uint64 скаляр
System.Singlesingle скаляр
System.Doubledouble скаляр
System.Booleanlogical скаляр
System.Byteuint8 скаляр
System.Enumenum
System.Charchar
System.DecimalSystem.Decimal
System.ObjectSystem.Object
System.IntPtrSystem.IntPtr
System.UIntPtrSystem.UIntPtr
System.StringSystem.String
System.Nullable<ValueType>System.Nullable<ValueType>
System.Array

Смотрите массивы использования с приложениями.NET

System.__ComObject

Смотрите, как MATLAB обрабатывает System.__ComObject

class nameclass name
struct namestruct name

Преобразование массивов примитивного типа.NET к типу MATLAB

Чтобы преобразовать элементы массива.NET к эквивалентному массиву MATLAB, вызовите эти функции MATLAB. Для примера смотрите, Преобразуют Примитивные Массивы.NET в Массивы MATLAB.

Тип.NET C#Функция преобразования MATLAB
System.Int16

int16

System.UInt16uint16
System.Int32int32
System.UInt32uint32
System.Int64int64
System.UInt64uint64
System.Singlesingle
System.Doubledouble
System.Booleanlogical
System.Byteuint8

Как MATLAB обрабатывает System.String

Преобразовывать System.String возразите против строки MATLAB, используйте string функция. Преобразовывать System.String возразите против символьного массива MATLAB, используйте char функция. Например:

str = System.String('create a System.String');
mlstr = string(str)
mlchar = char(str)
mlstr = 

    "create a System.String"


mlchar =

    'create a System.String'           

MATLAB отображает значение строки System.String объекты, вместо отображения стандартного объекта. Например, введите:

a = System.String('test')
b = System.String.Concat(a,' hello',' world')
a = 
test
b = 
test hello world

System.String класс иллюстрирует, как MATLAB обрабатывает поля и свойства, как описано в Свойствах.NET Вызова Который Взятие Аргумент. Чтобы видеть справочную информацию о классе, ищите термин System.String в Библиотеке классов Среды.NET, как описано в Узнать больше о Среде.NET.

string функция преобразует String.String массивы (String.String[], String.String[,], и так далее) к MATLAB string массивы с теми же размерностями и размерами. Преобразование зубчатых массивов, например, String.String[][], не поддерживается.

Как MATLAB обрабатывает System.__ComObject

System.__ComObject тип представляет Microsoft® __ ComObject. Это - невидимый, общедоступный класс в mscorlib блок без открытых методов. При определенных обстоятельствах объект.NET возвращает экземпляр System.__ComObject. MATLAB обрабатывает System.__ComObject на основе типов возврата, заданных в метаданных.

MATLAB преобразовывает объект

Если тип возврата метода или свойства со строгим контролем типов, и результатом вызова является System.__ComObject, MATLAB автоматически преобразует возвращенный объект в соответствующий тип.

Например, предположите, что ваш блок задает тип, TestType, и предоставляет метод, GetTestType, со следующей подписью.

Возвратите типИмяАргументы
NetDocTest.TestType RetValGetTestType(NetDocTest.MyClass this)

Тип возврата GetTestType со строгим контролем типов, и Среда.NET возвращает объект типа System.__ComObject. MATLAB автоматически преобразует объект в соответствующий тип, NetDocTest.TestType, показанный в следующем псевдокоде:

cls = NetDocTest.MyClass;
var = GetTestType(cls)
var = 

  TestType handle with no properties.

Кастинг объекта адаптировать тип

Если типом возврата метода или свойства является System.Object, и результатом вызова является System.__ComObject, MATLAB возвращает System.__ComObject. Чтобы использовать возвращенный объект, бросьте его к допустимому классу или интерфейсному типу. Используйте свою документацию по продукту, чтобы идентифицировать допустимые типы для этого объекта.

Чтобы вызвать член нового типа, бросьте объект с помощью синтаксиса преобразования MATLAB:

objConverted = namespace.classname(obj)

где obj System.__ComObject ввод.

Например, элемент в Microsoft Excel® набор листа может быть графиком или рабочим листом. Следующая команда преобразует System.__ComObject переменная mySheet к Chart или Worksheet объект newSheet:

newSheet = Microsoft.Office.Interop.Excel.interfacename(mySheet);

где interfacename Chart или Worksheet. Для примера смотрите работу с электронными таблицами Microsoft Excel Используя.NET.

Передача COM-объекта между процессами

Если вы передаете COM-объект или от функции, блокируете объект так, чтобы MATLAB автоматически не выпускал его, когда объект выходит из осциллографа. Чтобы заблокировать объект, вызовите NET.disableAutoRelease функция. Затем разблокируйте объект, с помощью NET.enableAutoRelease функция, после того, как вы посредством использования его.

Как MATLAB обрабатывает System.Nullable

Если.NET возвращает System.Nullable тип, MATLAB возвращает соответствующий System.Nullable ввод.

System.Nullable тип позволяет вам присвоить null значения к типам, таким как числовые типы, которые не поддерживают null значение. Использовать System.Nullable объект в MATLAB, сначала решите, как обработать null значения.

  • Если вы хотите обработать null значения по-другому по сравнению с <ValueType> значения, используйте HasValue свойство.

  • Если вы хотите, чтобы каждое значение было базового <ValueType>, используйте GetValueOrDefault метод. Этот метод присваивает значение по умолчанию типа <ValueType> к null значения.

Используйте переменную базового типа объекта, где это необходимо, в любом выражении MATLAB. Для примеров смотрите Передачу Аргументы System.Nullable.

Как Указатели MATLAB динамический Тип

MATLAB обрабатывает динамические типы как System.Object. Например, следующий метод C# exampleMethod имеет динамический входной параметр d и возвращает динамическое выходное значение:

public dynamic exampleMethod(dynamic d)

Следующая таблица показывает соответствующую подпись функции MATLAB.

Возвратите типИмяАргументы
System.Object RetValexampleMethod(namespaceClassName это,
System.Object d)

Как указатели MATLAB зубчатые массивы

Необходимо преобразовать зубчатый массив.NET перед использованием его в команде MATLAB. Преобразовывать:

  • Если форма массива является прямоугольной, используйте соответствующую числовую функцию MATLAB.

  • Если массив не является прямоугольным, используйте cell функция.

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