public virtual ValueTypeMatrix <T> AsReadOnly()
        {
            ValueTypeMatrix <T> readOnlyValueTypeMatrix = (ValueTypeMatrix <T>) this.Clone();

            readOnlyValueTypeMatrix.readOnly = true;
            return(readOnlyValueTypeMatrix);
        }
 protected ValueTypeMatrix(ValueTypeMatrix <T> original, Cloner cloner)
     : base(original, cloner)
 {
     this.matrix       = (T[, ])original.matrix.Clone();
     this.columnNames  = new List <string>(original.columnNames);
     this.rowNames     = new List <string>(original.rowNames);
     this.sortableView = original.sortableView;
     this.readOnly     = original.readOnly;
 }