У меня есть рабочий файл Excel (с кодом VB), который использует библиотеку DLL. Исходный код VB выглядит следующим образом:
Dim Inputs() As Double
Dim Outputs() As Variant
ReDim Inputs(1 To 1, 1 To NbrInputs&)
For i& = 1 To NbrInputs&
Inputs(1, i&) = CDbl(InRange(i&).Value)
Next i&
ABC.CalculateMatrix(Inputs#, Outputs)
Соответствующий код С#:
Array Inputs = Array.CreateInstance(
typeof(double),
new[] { 1, NbrInputs },
new[] { 1, 1 });
for (int i = 1; i <= NbrInputs; i++)
{
double value = Convert.ToDouble(InRange[i].Value);
Inputs.SetValue(value, 1, i);
}
ABC.CalculateMatrix(Inputs, Outputs);
Но есть проблема, как объявить Outputs??? Следующие варианты не сработали
Object[] Outputs = new Object[1]; //Object variable or With block variable not set
System.Array Outputs = Array.CreateInstance(typeof(Object), 1);//cannot convert from 'ref object[]' to 'ref System.Array'
System.Array Outputs = Array.CreateInstance(typeof(Object), 1);//Object variable or With block variable not set
Любая помощь в этом вопросе будет принята с благодарностью...
Объявление динамического массива не помогает
dynamic[] Outputs = new dynamic[1]; //Object variable or With block variable not set
dynamic
вместоvariant
- person Zohar Peled   schedule 26.04.2018