示例#1
0
        private ArrayInfo GetArrayInfo(Type arrayType)
        {
            // Caching is unacceptable, as an array of type string can have different bounds

            var info = new ArrayInfo();

            // Fill the dimension infos
            for (var dimension = 0; dimension < GetRank(arrayType); dimension++)
            {
                var dimensionInfo = new DimensionInfo();
                dimensionInfo.Length     = GetLength(dimension, arrayType);
                dimensionInfo.LowerBound = GetLowerBound(dimension, arrayType);
                info.DimensionInfos.Add(dimensionInfo);
            }


            return(info);
        }