How to ouput .NET object instead of "MWStructArray" in MATLAB Compiler SDK?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
MathWorks Support Team
am 23 Okt. 2023
Bearbeitet: MathWorks Support Team
am 20 Jun. 2025
I am trying to create a standalone executable using MATLAB Compiler SDK, where I want to marshal MATLAB structs in C# using .NET structs and classes. I am using the following example as a reference:
I have the following questions:
1) My MATLAB function outputs a "MWStructArray", while I would expect a .NET "Student" object like in the example. How can I return a .NET "Student" object directly from the MATLAB function call?
2) Is there a way to directly unmarshal the "MWStructArray" or "MWCellArray" without having to convert field by field?
Akzeptierte Antwort
MathWorks Support Team
am 20 Jun. 2025
Bearbeitet: MathWorks Support Team
am 20 Jun. 2025
You can find the answers below:
1) It is not possible with the native MWArray API using "SortScoresNative.dll". If you use the non-native API from "SortScores.dll", you can return .NET "Student" object inside the MATLAB function. An "MWObjectArray", named for example "obj", will be yielded on the .NET side, and you can cast "obj.Object" to "Student" using "(Student[])obj.Object".
2) It is not possible with the native "MWArray API" using "SortScoresNative.dll", and analogously for "MWCellArray". If you use the non-native API from "SortScores.dll", you may use the static method called "ConvertToNativeTypes" in the base "MWArray" class, as reported in the following link:
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Deploy to .NET Applications Using MWArray API finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!