Инструмент картирования (например, Automapper) для Matlab - PullRequest
2 голосов
/ 16 января 2012

Мне очень понравилась возможность работы с типами .NET в Matlab с использованием интерфейса Matlab .NET .

В настоящее время я пытаюсь установить набор оболочек Matlab для.NET API (упаковка для придания API ощущения "Matlab-y").Одна из вещей, которые я делаю снова и снова, - это создание статических вспомогательных методов в Matlab для преобразования DTO из сущности .NET в структуру или класс Matlab.

Кто-нибудь знает инструмент, подобный AutoMapper, чтобы помочьс этим отображением?

Редактировать:

Вот пример.В библиотеке C #:

namespace MyLib
{
    public class MyClass
    {
        public string MyString { get; set; }
        public int MyInt { get; set; }

        public MyClass(string myString, int myInt)
        {
            MyString = myString;
            MyInt = myInt;
        }
    }
}

Затем в Matlab:

NET.addAssembly('MyLib.dll');

% create an instance of my .NET type
netObject = MyLib.MyClass('high', 5);

% map that instance to values in a Matlab struct
% since Matlab's dynamic, create the struct on the fly
matlabStruct = map(netObject);

% assert that the values have been mapped correctly
assert(isstruct(matlabStruct));
assert(isfield(matlabStruct, 'MyString'));
assert(isfield(matlabStruct, 'MyInt'));
assert(matlabStruct.MyString == 'high');
assert(matlabStruct.MyInt == 5);

% equivalent code w/o mapper:
matlabStruct.MyString = char(netObject.MyString);
matlabStruct.MyInt = int32(netObject.MyInt);
...