How to call a .net function that uses a params parameter?
1 view (last 30 days)
Show older comments
I have a C# function in a dll that has this signature
public static double Invoke(string desk, string functionName, params string[] arguments)
I can include the assembly in Matlab, but when I call the function like this:
cls.Invoke('string1', 'string2', 'params1', 'params2', 'params3', 'params4')
I get this error No method 'Invoke' with matching signature found for class 'cls' Using the example code here http://www.mathworks.com/help/matlab/matlab_external/call-net-methods-with-params-keyword.html I made an array of strings and passed that in place of the params1-4 above with the same results. I can call other methods in the C# code that have a fixed number of arguments. I'm missing something and would appreciate any suggestions
0 Comments
Answers (1)
Matthew
on 18 Jun 2018
Edited: Matthew
on 18 Jun 2018
The provided example for that uses integers, so its a bit confusing when applying that example to strings.
I was able to use string params by passing in a cell array of character vectors.
i.e. if the c# method was
public static double Invoke(string desk, string functionName, params string[] arguments)
I was able to call it as
cls.Invoke('string1', 'string2', {'params1', 'params2', 'params3', 'params4'})
0 Comments
See Also
Categories
Find more on .NET Methods in MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!