Приложение Library Compiler генерирует безопасный для типа API, когда вы создаете сборку, если выбраны правильные опции.
Создайте проект Library Compiler.
Выберите .NET Assembly из списка Type.
Разверните раздел Additional Runtime Settings.
В разделе Type-Safe API выполните следующие действия:
Выберите Enable Type-Safe API.
В поле Interface assembly укажите местоположение созданной сборки интерфейса type-safe/WCF.
Выберите требуемый интерфейс из раскрывающегося списка .NET interface.
Совет
Если выпадающий список пуст, приложению Library Compiler не удалось найти интерфейсы .NET в выбранной сборке.
Укажите имя класса, который должен быть перенесен сгенерированным API, в поле Wrapped Class.
Примечание
Оставьте поле Namespace пустым.
Создайте проект, нажав кнопку Package.
Чтобы сгенерировать безопасный для типа API с использованием вашего компонента mcc
, выполните следующее:
Создайте компонент путем ввода этой команды из MATLAB®:
mcc -v -B 'dotnet:AddOneComp,Mechanism,3.5,private,local' addOne
См. mcc
Страница с описанием для получения дополнительной информации об указанных опциях.
Сгенерируйте API с безопасным типом путем ввода этой команды из MATLAB:
ntswrap -c AddOneComp.Mechanism -i IAddOne -a IAddOne.dll
где:
-c
задает имя сборки .NET, определяемое пространством имен, для переноса с безопасным для типа API. Если сборке присвоено пространство имен, задайте полное имя, определяемое пространством имен (AddOneComp.Mechanism
в примере). Потому что никакое пространство имен не задано ntswrap
Класс type-safe interface появляется в глобальном пространстве имен.
-i
задает имя интерфейса .NET, задающего безопасный для типа API. Имя интерфейса обычно префиксируется I
.
-a
задает абсолютный или относительный путь к сборке, содержащей статический интерфейс .NET, на который ссылается -i
переключатель.
Совет
Если сборка содержит интерфейс .NET IAddOne
не находится в текущей папке, укажите полный путь.
Внимание
Не все аргументы совместимы друг с другом. См. ntswrap
для получения дополнительной информации обо всех опциях команды.