Только что обновлен до VS2017 с VS2010, (Откуда пошла простота?)
Кто-нибудь знает, как "легко" отключить IDE0028?
Я получаю IDE0028 (Инициализация коллекции может быть упрощена), когда я делаю это ...
List<string> colNames = new List<string>();
colNames.Add("Desc");
colNames.Add("Freq");
colNames.Add("Date");
colNames.Add("Amount");
colNames.Add("Pay From");
dgv_SetHeaderNames(dgvDebits, colNames);
dgvDebits.ColumnCount = colNames.Count;
colNames[4] = "Type";
dgv_SetHeaderNames(dgvIncome, colNames);
dgvIncome.ColumnCount = colNames.Count;
colNames.Clear();
colNames.Add("Key");
colNames.Add("Description");
colNames.Add("Date");
colNames.Add("Freq");
colNames.Add("Amount");
colNames.Add("Pay From");
colNames.Add("USAA Checking");
colNames.Add("Amazon VISA");
dgv_SetHeaderNames(dgvWorking, colNames);
Как вы можете видеть, я повторно использую список colNames для более чем одного DataGridView.
Лично я думаю, что это понятнее, чем яделая это, потому что он четко разграничивает элемент и отдельный элемент в списке.Итак, мне не нравится IDE0028
Любопытно, что вызываемая функция здесь:
public void dgv_SetHeaderNames(DataGridView dgv, List<string> colNames, bool withColNum = false)
{
foreach (DataGridViewColumn dgvCol in dgv.Columns)
{
int currCol = dgvCol.Index;
string colText = "";
if (currCol >= colNames.Count)
{
// if there are more columns than name we will use the column number, anyway.
colText = currCol.ToString();
}
else
{
if (withColNum == true)
{
colText = currCol.ToString() + " - " + colNames[currCol];
}
else
{
colText = colNames[currCol];
}
}
dgv.Columns[currCol].HeaderText = colText;
}
}
Да, я все еще новичок, и, вероятно, в течение некоторого времени буду...