В этом примере показано, как вызвать блок.NET из приложения C#. Чтобы создать блок.NET из вашей функции MATLAB®, смотрите, Генерируют блок.NET и Создают Приложение.NET.
Установите блок.NET от for_redistribution
папка.
Сгенерированные разделяемые библиотеки и файлы поддержки расположены в for_testing
папка.
Откройте Microsoft® Visual Studio® и создайте проект. В данном примере создайте Консольное приложение C# под названием MainApp и создайте ссылку на свой файл блока MagicSquareComp.dll
.
Убедитесь, что блок расположен в папке приложения, созданной, где вы установили компонент.
Создайте ссылку на MWArray
API. Местоположение API в рамках MATLAB Runtime:
matlabroot
MATLAB Runtime\v##\
toolbox\dotnetbuilder\bin\arch
версия
\MWArray.dll
Перейдите к Build> Configuration Manager и измените платформу от Any CPU до x64.
Скопируйте следующий код C# в проект и сохраните его.
После того, как вы закончили писать свой код, сборку и запускаете его с Microsoft Visual Studio.
При вызове компонента можно использовать в своих интересах неявное преобразование от типов.NET до типов MATLAB путем передачи нативного значения C# непосредственно makeSqr
:
input = 5; obj.makesquare(1, input);
Можно также использовать явное преобразование:
input = new MWNumericArray(5); obj.makesquare(1, input);
Компилятор создает инсталлятор для сгенерированного компонента.NET. После того, как компиляция завершена, можно найти этот инсталлятор в for_redistribution
папка в вашей папке проекта. По умолчанию компилятор называет инсталлятор MyAppInstaller_web.exe
или MyAppInstaller_mcr.exe
, В зависимости от которой упаковочной опции вы выбрали. Используя область Application Information приложения Library Compiler, можно настроить вид инсталлятора.
Например, когда конечный пользователь дважды кликает инсталлятор компонента, первый экран идентифицирует ваш компонент по наименованию и номер версии.
Путем нажатия на Next на каждом экране инсталлятор ведет вас посредством процесса установки. Во время установки можно задать папку установки. Инсталлятор также автоматически загружает MATLAB Runtime в случае необходимости.