/// <summary> /// Demonstrates using a custom inteop helper class /// </summary> /// <returns></returns> public static Polyline[] MooseGetPolylines() { var array = new SimpleArrayPolyline(); var ptr_array = array.NonConstPointer(); int count = Environment.Is64BitProcess ? UnsafeNativeMethods64.MoooseGetPolylines(ptr_array) : UnsafeNativeMethods32.MoooseGetPolylines(ptr_array); if (count == 0) { array.Dispose(); return(new Polyline[0]); } var list = new List <Polyline>(count); for (var i = 0; i < count; i++) { list.Add(array.Get(i)); } array.Dispose(); return(list.ToArray()); }
/// <summary> /// Demonstrates using a custom inteop helper class /// </summary> public static Polyline[] ExampleGetPolylines() { var array = new SimpleArrayPolyline(); var ptr_array = array.NonConstPointer(); var count = UnsafeNativeMethods.MoooseGetPolylines(ptr_array); if (count == 0) { array.Dispose(); return(new Polyline[0]); } var list = new List <Polyline>(count); for (var i = 0; i < count; i++) { list.Add(array.Get(i)); } array.Dispose(); return(list.ToArray()); }