MATLAB® позволяет пользователям писать функции с несколькими выходными параметрами. Чтобы закодировать несколько выходных параметров в C#, используйте ключевое слово out
.
Следующий код MATLAB берет несколько входных параметров (i1
, i2
, i3
) и возвращает несколько выходных параметров (o1
, o2
, o3
), после выполнения некоторых проверок и вычислений.
В этом примере первый ввод и вывод имеет тип double
, и второй ввод и вывод имеет тип int
. Третий ввод и вывод имеет тип char
.
Чтобы развернуть эту функцию с программным обеспечением MATLAB Production Server™, необходимо написать соответствующий интерфейс метода в C#, с помощью ключевого слова out
. Определение ключевого слова out
заставляет аргументы быть переданными ссылкой. При использовании out
гарантируйте, что и определение метода интерфейса и вызывающий метод явным образом задают ключевое слово out
.
Типы данных выходного аргумента, перечисленные в вашем интерфейсе C# (ссылаемый с ключевым словом out
), должны совпадать с типами данных выходного аргумента, перечисленными в вашей подписи MATLAB точно. Поэтому в интерфейсе C# (MultipleOutputsExample
) и метод (TryMultipleOutputs
) примеры кода, несколько выходных параметров перечислены (с соответствием с заданными типами данных) в том же порядке, как они перечислены в вашей функции MATLAB.
Функция MATLAB multipleoutputs
Интерфейс C# MultipleOutputsExample
После создания нового экземпляра MWHttpClient
и клиентского прокси, объявляются переменные и вызывающий метод, multipleoutputs
.
В методе multipleoutputs
значения, соответствующие, каждый объявил, что типы передаются для вывода (1.2
для double
, 10
для int
и hello
для string
) к output1
.
Отметьте применяющие лучшые методы кодирования, проиллюстрированные этим примером:
И подпись функции MATLAB и подпись метода интерфейса C# используют имя multipleOutputs
. И MATLAB и код C# обрабатывают три входных параметров и три выходных параметров.
Интерфейс.NET MATLAB поддерживает прямое преобразование от массива double
C# до MATLAB массив double
и от string
C# до массива символов MATLAB. Для получения дополнительной информации смотрите Преобразование Данных с C# и Типами MATLAB и Преобразование Между Типами MATLAB и Типами C#.