Beispiel #1
0
        private static void InitializeArray(Array array, IField field)
        {
            var elemType = array.GetType().GetElementType();

            var vals = CLR.ReadArrayValues(field, Type.GetTypeCode(elemType));

            if (array.Rank == 1)
            {
                int n = vals.Count;
                for (int i = 0; i < n; ++i)
                {
                    array.SetValue(vals[i], i);
                }
            }
            else
            {
                int i  = 0;
                var it = new ArrayIterator(array);
                while (it.MoveNext())
                {
                    array.SetValue(vals[i], it.Indices);
                    i++;
                }
            }
        }