internal ArrayType(Type baseType, IReadOnlyList <Dimension> dimensions) : base(TypeKind.GeneralArray) { m_baseType = baseType.AssumeNotNull(); m_dimensions = dimensions.AssumeNotNull(); if (m_dimensions.Count == 0) { throw new ArgumentException("The number of dimensions specified cannot be zero."); } }