private void SetColumns(object[] attributes) { // if there any display properties that mean it was setted by fluent configuration // and we don't want replace them if (DisplayProperties.IsNullOrEmpty()) { var columnsAttribute = attributes.OfType <ColumnsAttribute>().FirstOrDefault(); if (columnsAttribute != null) { SetColumns(columnsAttribute.Columns); } else { DisplayProperties = GetDisplayProperties().ToList(); } } }