PyList_SetItem() private méthode

private PyList_SetItem ( IntPtr pointer, int index, IntPtr value ) : int
pointer IntPtr
index int
value IntPtr
Résultat int
Exemple #1
0
        /// <summary>
        /// PyList Constructor
        /// </summary>
        /// <remarks>
        /// Creates a new Python list object from an array of PyObjects.
        /// </remarks>
        public PyList(PyObject[] items)
        {
            int count = items.Length;

            obj = Runtime.PyList_New(count);
            for (var i = 0; i < count; i++)
            {
                IntPtr ptr = items[i].obj;
                Runtime.XIncref(ptr);
                int r = Runtime.PyList_SetItem(obj, i, ptr);
                if (r < 0)
                {
                    throw new PythonException();
                }
            }
        }
Exemple #2
0
        private static IntPtr FromArray(PyObject[] items)
        {
            int    count = items.Length;
            IntPtr val   = Runtime.PyList_New(count);

            for (var i = 0; i < count; i++)
            {
                IntPtr ptr = items[i].obj;
                Runtime.XIncref(ptr);
                int r = Runtime.PyList_SetItem(val, i, ptr);
                if (r < 0)
                {
                    Runtime.Py_DecRef(val);
                    throw PythonException.ThrowLastAsClrException();
                }
            }
            return(val);
        }