Безопасные с точки зрения типов интерфейсы: альтернатива MWArray

Типы данных MATLAB® несовместимы с нативными типами.NET. Чтобы отправить данные между вашим приложением и.NET, вы выполняете эти задачи:

  1. Упорядочьте данные от входных данных.NET до развернутой функции путем создания объекта MWArray из нативных данных о.NET. public функционирует в развернутом возврате компонента объекты MWArray.

  2. Упорядочьте данные вывода MATLAB в MWArray в нативные данные о.NET путем вызова одного из методов маршалинга MWArray (ToArray(), например).

Ручной маршалинг данных без безопасного с точки зрения типов интерфейса

Как вы видите, вручную упорядочивание данных добавляет сложность и потенциальные места ошибки к задаче интеграции развернутых компонентов в приложение.NET. Это особенно верно по этим причинам:

  • Ваше приложение не может обнаружить ошибки несоответствия типов до времени выполнения. Например, вы можете случайно создать MWArray из строки и передать массив развернутой функции, которая ожидает номер. Поскольку код обертки, сгенерированный MATLAB Compiler SDK™, ожидает MWArray, компилятор.NET не может обнаружить эту ошибку и развернутую функцию или выдает исключение или дает неправильный ответ.

  • Ваши конечные пользователи должны изучить, как использовать тип данных MWArray или поочередно маскировать тип данных MWArray позади вручную записанный (и вручную сохраняемый) API. Это вводит нежелательное учебное время и помещает требования к ресурсам в потенциально превышенный возможности штат.

Можно постараться не выполнять маршалинг данных MWArray при помощи type-safe interfaces. Такие интерфейсы минимизируют явные преобразования типов путем сокрытия типа MWArray от вызывающего приложения. Используя безопасные с точки зрения типов интерфейсы позволяет разработчикам.NET работать непосредственно со знакомыми собственными типами данных. Для получения дополнительной информации смотрите Реализацию Безопасный с точки зрения типов Интерфейс.

Упрощенный маршалинг данных с безопасным с точки зрения типов интерфейсом

Для просмотра документации необходимо авторизоваться на сайте