passing MATLAB's handle objects to .NET function

2 次查看(过去 30 天)
Hello everyone!
Is that possible to give matlab oobject as argument to .Net function? Actually I want to execute some class member asynchroneously. Therefore, the BeginInvoke method should pass the handle of related object to asynchron function. I am using the NetDocDelegate.cs defined in the documentation to which I have added the following line :
public delegated double delRef(dynamic arg);
and my class definition is defined as :
classdef usier < handle
properties
stock
value
end
methods
function obj = usier(stock,value)
obj.stock = stock;
obj.value=value;
end
function receive(obj,objref)
divDel = NetDocDelegate.delRef(@response);
asyncRes =divDel.BeginInvoke(objref,@obj.display);
end
function result=response(obj)
result=[obj.stock,obj.value];
end
function dispay(obj,asyncRes)
result = asyncRes.AsyncDelegate.EndInvoke(asyncRes);
fprintf(1,'neighbor''s stock is:%d\t and value is:%d\n',result(1),result(2));
end
end
end
Then I created two instance of usier class
>>u=usier(12,34);
>> f=usier(45,98);
>> f.receive(u)
the last command should executes the asynchron function and then retreives the result. unfortunately matlab generate the following Error:
No method 'BeginInvoke' with matching signature found for class 'NetDocDelegate.delRef'.
ps:I added the assembly files first with
dllPath = fullfile('c:','MATLAB\DynChannel\','NetDocDelegate.dll');
NET.addAssembly(dllPath);
can someone help me?
Thanks all,
Bolivar

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 .NET Events and Delegates in MATLAB 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by