.NET , "" . , 1. , SAFEARRAY, 0.
Array.GetValue(). , :
private static object[] ConvertArray(Array arr) {
int lb = arr.GetLowerBound(0);
var ret = new object[arr.GetUpperBound(0) - lb + 1];
for (int ix = 0; ix < ret.Length; ++ix) {
ret[ix] = arr.GetValue(ix + lb);
}
return ret;
}
:
var native = Array.CreateInstance(typeof(object), new int[] { 42 }, new int[] { 1 });
var dotnet = ConvertArray(native);
. .NET 4.0 , COM-, Office. , . #. # . , (), ().