I'd appreciate some hints with working with a haxe generated DLL from C#.
The problem I'm facing (as far as I understand it!), seems related to hxcs converting nested arrays into `Array<object>`, thus acting as untyped on the C# side.
Here's a simplified example of what I'm trying to do:
Tools.hx (converted to a net-ver=40 dll):
```haxe
typedef Sequences = Array<Array<Float>>;
class Tools {
static public function getRandSequences():Sequences {
var res:Sequences = [];
for (i in 0...3) {
res.push([for (j in 0...5) j]);
}
return res;
}
static public function flattenSequences(sequences:Sequences):String {
var stringBuf = new StringBuf();
for (seq in sequences) {
for (n in seq) {
stringBuf.add(Std.string(n) + " ");
}
stringBuf.add("\n");
}
return stringBuf.toString();
}
static public function addUpSequences(sequences:Sequences):Float {
var sum = 0.0;
for (seq in sequences) {
for (n in seq) {
sum += n;
}
}
return sum;
}
}
```
Program.cs:
```cs
...
namespace ConsoleApp
{
using Sequences = Array<object>; // Actually Array<Array<Double>>, but works!
//using Sequences = Array<Array<Double>>; // Error: Cannot implicitly convert type 'Array<object>' to 'Array<Array<double>>'
class Program
{
static void Main(string[] args)
{
Sequences sequences = Tools.getRandSequences();
String str = Tools.flattenSequences(sequences);
System.Diagnostics.Debug.WriteLine(str);
Double sum = Tools.addUpSequences(sequences);
System.Diagnostics.Debug.WriteLine(sum);
//Double firstNum = (Array<Double>)(sequences[0])[0]; // how can I access this, or - better - emulate the typedef from haxe
}
}
}
```