Переменное количество аргументов

Примечание

Этот пример подобен Интеграции Простой функции MATLAB, за исключением того, что функция MATLAB®, которая будет инкапсулироваться, берет переменное количество аргументов вместо всего один.

Цель примера состоит в том, чтобы показать вам следующее:

  • Как использовать продукт MATLAB Compiler SDK™, чтобы преобразовать функцию MATLAB, drawgraph, который берет переменное количество аргументов, к методу класса.NET (Plotter) и переносит класс в блок.NET (VarArgComp). Функция drawgraph (который может быть назван как метод класса Plotter) отображает график входных параметров.

  • Как получить доступ к компоненту в приложении C# (VarArgApp.cs) путем инстанцирования класса Plotter и использования MWArray, чтобы представлять данные.

    Примечание

    Для получения информации об этих классах преобразования данных см. Справочник по библиотеке классов MWArray MATLAB, доступный в папке matlabroot\help\dotnetbuilder\MWArrayAPI, где matlabroot представляет вашу папку установки MATLAB

  • Как создать и запустить приложение VarArgDemoApp, с помощью Визуальной среды разработки Studio®.NET.

Постепенная процедура

  1. Если вы уже не сделали так, скопируйте файлы для этого примера можно следующим образом:

    1. Скопируйте следующую папку, которая поставляется с продуктом MATLAB к вашей папке работы:

      matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\VarArgExample
      
    2. В подсказке команды MATLAB, cd к новой подпапке VarArgExample в вашей папке работы.

  2. Запишите функции MATLAB, когда вы были бы любая функция MATLAB.

    Код для функций в этом примере следующие:

     drawgraph.m

     extractcoords.m

    Этот код уже находится в вашей папке работы в \VarArgExample\VarArgComp\.

  3. Из галереи приложений MATLAB откройте приложение Library Compiler.

  4. Создайте компонент.NET. Смотрите, что инструкции в Генерируют блок.NET и Создают Приложение.NET для получения дополнительной информации. Используйте следующую информацию:

    Название проектаVarArgComp
    ClassName Plotter
    Файл, чтобы скомпилироватьextractcoords.m   drawgraph.m

  5. Запишите исходный код для приложения, это получает доступ к компоненту.

    Пример приложения для этого примера находится в VarArgExample\VarArgCSApp\VarArgApp.cs.

    Распечатку программ показывают здесь.

     VarArgApp.cs

    Программа делает следующее:

    • Инициализирует три массива (colorSpec, data и coords) использование библиотеки классов MWArray

    • Создает объект Plotter

    • Вызывает методы drawgraph и extracoords

    • Использование MWNumericArray, чтобы представлять данные, необходимые методам

    • Использует блок try-catch, чтобы отловить и обработать любые исключения

    Следующие операторы являются альтернативными способами вызвать метод drawgraph:

    data= (MWNumericArray)plotter.drawgraph(colorSpec, 
                    coords[0], coords[1], coords[2],coords[3], coords[4]);
    ...
    data= (MWNumericArray)plotter.drawgraph((MWArray)colorSpec, coords);
    
  6. Создайте приложение VarArgApp с помощью Visual Studio.NET.

    1. Папка VarArgCSApp содержит файл проекта Visual Studio.NET для этого примера. Откройте проект в Visual Studio.NET путем двойного клика по VarArgCSApp.csproj в Проводнике Windows®. Можно также открыть его с рабочего стола путем щелчка правой кнопкой по VarArgCSApp.csproj> Open Outside MATLAB.

    2. Добавьте ссылку на компонент MWArray, который является matlabroot\toolbox\dotnetbuilder\bin\architecture\framework_version\mwarray.dll.

    3. Добавьте или, при необходимости, зафиксируйте местоположение ссылки на компонент VarArgComp, который вы создали на предыдущем шаге. (Компонент, VarArgComp.dll, находится в подпапке \VarArgExample\VarArgComp\x86\v4.0\debug\distrib вашей рабочей области.)

  7. Создайте и запустите приложение в Visual Studio.NET.