Ejemplo n.º 1
0
        private static JsValue Convert(Engine e, object v)
        {
            var array       = (System.Array)v;
            var arrayLength = (uint)array.Length;

            var jsArray = new ArrayInstance(e, arrayLength);

            jsArray.Prototype  = e.Array.PrototypeObject;
            jsArray.Extensible = true;

            for (uint i = 0; i < arrayLength; ++i)
            {
                var jsItem = FromObject(e, array.GetValue(i));
                jsArray.WriteArrayValue(i, new PropertyDescriptor(jsItem, PropertyFlag.ConfigurableEnumerableWritable));
            }

            jsArray.SetOwnProperty("length", new PropertyDescriptor(arrayLength, PropertyFlag.OnlyWritable));

            return(jsArray);
        }