How to call a .net function that uses a params parameter?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Matthew
2018-6-18
编辑:Matthew
2018-6-18
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 .NET Methods in MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!