2017-08-02 74 views
0

淨結構的我有一個函數CreateMCC作爲輸入需要的數組:陣列在Matlab

public static object CreateMccTemplate(int imageWidth, int imageHeight, int imageResolution, Minutia[] minutiae) 

我轉換爲陣列這種方式:

NETobj = NET.createGeneric('System.Collections.Generic.List',{'BioLab.Biometrics.Mcc.Sdk.Minutia'},length(matlabArray)); 
maArray = NET.createGeneric('System.Collections.Generic.List',{'BioLab.Biometrics.Mcc.Sdk.Minutia'},length(matlabArray)); 
for i=1:size(matlabArray,1) 
AddRange(maArray, NET.convertArray(matlabArray(i,:))); 
end  

我稱之爲這裏

template1=BioLab.Biometrics.Mcc.Sdk.MccSdk.CreateMccTemplate(300,300,500,maArray); 

我收到此錯誤:

No method 'AddRange' with matching signature found for class 
'System.Collections.Generic.List<BioLab*Biometrics*Mcc*Sdk*Minutia>'. 

回答

0

的解決方案是通過創建類型網絡結構的陣列,並用填充attributs它:

 maArray = NET.createArray('BioLab.Biometrics.Mcc.Sdk.Minutia',size(matlabArray,1)); 
     for i=1:size(matlabArray,1) 
      NetObject = BioLab.Biometrics.Mcc.Sdk.Minutia(); 
      NetObject .X =matlabArray(i,1); 
      NetObject .Y = matlabArray(i,2); 
      NetObject .Direction = matlabArray(i,3); %filling the attribut 
      maArray (i)=L; 
     end 
template1=BioLab.Biometrics.Mcc.Sdk.MccSdk.CreateMccTemplate(300,300,500,maArray);