Using NET assembly from within MATLAB

Hi, I am trying to pass a cell array containing strings and doubles to a NET method that takes a System.Object array as input but get an error. According to the documentation, http://www.mathworks.com/help/techdoc/matlab_external/brpb5o9-1.html#bs20zhq, this should be possible.
Any ideas?
Regards
----------------- Full details: ----------------
-----C# code
namespace BulkUploadUtility
{
public static class BulkUpload
{
public static System.Object[] Data;
public static void UploadData(System.Object[] data)
{
Data = data;
}
}
}
----MATLAB
asm = NET.addAssembly('BulkUploadUtility.dll');
a= {'a','1';'b','2'};
BulkUploadUtility.BulkUpload.UploadData(a)
gives the error: ??? No method 'UploadData' with matching signature found for class 'BulkUploadUtility.BulkUpload'.

 Accepted Answer

Hi,
I'm not sure, but as a first simple test to rule this out, try to send a 1D array: you are sending a 2D array to a 1D (System.Object[]) array. Does it work for
a = {'a' '1' 'b' '2'};
?
Titus

4 Comments

Hi Titus, thank you for your answer. Tested both cases:
1) a = {'a' '1' 'b' '2'}; to Object[]
2) a = {'a' '1' 'b' '2' ; 'a' '1' 'b' '2'}; to Object[,]
and unfortunately it does not work.
I decided to go with a workaround solution; rather that passing a cell input, I have two input parameters: array of strings and an array of doubles.
Thanks again
Conrad
Hmm, o.k.. By the way: you are using R2011b or R2012a? Because passing cell arrays did not work before ...
That is it then....was testing on a machine with R2010b. Will test using R2012a and give feedback.
Thanks!
Conrad
If you like you might mark the question as answered ...

Sign in to comment.

More Answers (0)

Categories

Products

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!