MATLAB® автоматически преобразует данные из объекта.NET в эти типы MATLAB. Эти значения отображены в сигнатуре метода.
Тип.NET C# | Тип MATLAB |
---|---|
System.Int16 | int16 скаляр |
System.UInt16 | uint16 скаляр |
System.Int32 | int32 скаляр |
System.UInt32 | uint32 скаляр |
System.Int64 | int64 скаляр |
System.UInt64 | uint64 скаляр |
System.Single | single скаляр |
System.Double | double скаляр |
System.Boolean | logical скаляр |
System.Byte | uint8 скаляр |
System.Enum | enum |
System.Char | char |
System.Decimal | System.Decimal |
System.Object | System.Object |
System.IntPtr | System.IntPtr |
System.UIntPtr | System.UIntPtr |
System.String | System.String |
System.Nullable<ValueType> | System.Nullable<ValueType> |
System.Array | |
System.__ComObject | |
class name | class name |
struct name | struct name |
Чтобы преобразовать элементы массива.NET к эквивалентному массиву MATLAB, вызовите эти функции MATLAB. Для примера смотрите, Преобразуют Примитивные Массивы.NET в Массивы MATLAB.
Преобразовывать 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[][]
, не поддержан.
System.__ComObject
тип представляет COM-объект Microsoft®. Это - невидимый, общедоступный класс в mscorlib
блок без открытых методов. При определенных обстоятельствах объект.NET возвращает экземпляр System.__ComObject
. MATLAB обрабатывает System.__ComObject
на основе типов возврата, заданных в метаданных.
Если тип возврата метода или свойства со строгим контролем типов, и результатом вызова является System.__ComObject
, MATLAB автоматически преобразует возвращенный объект в соответствующий тип.
Например, предположите, что ваш блок задает тип, TestType
, и предоставляет метод, GetTestType
, со следующей подписью.
Возвратите тип | Имя | Аргументы |
---|---|---|
NetDocTest.TestType RetVal | GetTestType | (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-объект или от функции, блокируете объект так, чтобы MATLAB автоматически не выпускал его, когда объект выходит из осциллографа. Чтобы заблокировать объект, вызовите NET.disableAutoRelease
функция. Затем разблокируйте объект, с помощью NET.enableAutoRelease
функция, после того, как вы посредством использования его.
Если.NET возвращает System.Nullable
тип, MATLAB возвращает соответствующий System.Nullable
ввод.
System.Nullable
тип позволяет вам присвоить null
значения к типам, таким как числовые типы, которые не поддерживают null
значение. Использовать System.Nullable
объект в MATLAB, сначала решите, как обработать null
значения.
Если вы хотите обработать null
значения по-другому по сравнению с <ValueType>
значения, используйте HasValue
свойство.
Если вы хотите, чтобы каждое значение было базового <ValueType>
, используйте GetValueOrDefault
метод. Этот метод присваивает значение по умолчанию типа <ValueType>
к null
значения.
Используйте переменную базового типа объекта, где это необходимо, в любом выражении MATLAB. Для примеров смотрите Систему Передачи. Аргументы Nullable.
MATLAB обрабатывает динамические типы как System.Object
. Например, следующий метод C# exampleMethod
имеет динамический входной параметр d
и возвращает динамическое выходное значение:
public dynamic exampleMethod(dynamic d)
Следующая таблица показывает соответствующую подпись функции MATLAB.
Возвратите тип | Имя | Аргументы |
---|---|---|
System.Object RetVal | exampleMethod | ( |
Необходимо преобразовать зубчатый массив.NET перед использованием его в команде MATLAB. Преобразовывать:
Если форма массива является прямоугольной, используйте соответствующую числовую функцию MATLAB.
Если массив не является прямоугольным, используйте cell
функция.
Если зубчатый массив многомерен, необходимо индивидуально преобразовать массивы в каждой размерности.