Ejemplo n.º 1
0
        /// <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());
        }
Ejemplo n.º 2
0
        /// <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());
        }