Сокращение создания объектов C#

У меня есть код:

ToolStripMenuItem item1 = new ToolStripMenuItem();
ToolStripMenuItem item2 = new ToolStripMenuItem();
ToolStripMenuItem item3 = new ToolStripMenuItem();
ToolStripMenuItem item4 = new ToolStripMenuItem();

Можно ли как-нибудь сократить его, чтобы, например, написать tItem item1 = new tItem() ?


Ответы (5 шт):

Автор решения: Streletz

Можно использовать синтаксис using as alias. Выглядеть это будет приблизительно как-то так:

using tItem = ToolStripMenuItem

Но, в данном случае всё же лучше так не делать. Оригинальное название класса ToolStripMenuItem более описательно, чем tItem. Также стоит учесть, что это всё-таки стандартный класс WinForms и подобный подход рано или поздно собьёт с толку не только вас, но и других людей, которые потом будут сопровождать ваш код.

→ Ссылка
Автор решения: Qwertiy

Переменные одного типа можно объявлять через запутую:

ToolStripMenuItem item1 = new ToolStripMenuItem(), item2 = new ToolStripMenuItem(), item3 = new ToolStripMenuItem(), item4 = new ToolStripMenuItem();

При желании можно поделить на несколько строк (хотя я бы не стал):

ToolStripMenuItem item1 = new ToolStripMenuItem(), item2 = new ToolStripMenuItem(),
  item3 = new ToolStripMenuItem(), item4 = new ToolStripMenuItem();
→ Ссылка
Автор решения: Qwertiy

Вместо длинного названия типа можно использовать var:

var item1 = new ToolStripMenuItem();
var item2 = new ToolStripMenuItem();
var item3 = new ToolStripMenuItem();
var item4 = new ToolStripMenuItem();
→ Ссылка
Автор решения: tym32167

Ещё вариант в кучу

Func<ToolStripMenuItem> c = () => new ToolStripMenuItem();
ToolStripMenuItem item1 = c(), item2 = c(), item3 = c(), item4 = c(), item5 = c();

Ну или

Func<ToolStripMenuItem> c = () => new ToolStripMenuItem();
(var item1, var item2, var item3, var item4, var item5) = (c(), c(), c(), c(), c());
→ Ссылка
Автор решения: aepot

Еще добавлю. Можно хранить однотипные элементы в списке или массиве.

Массив

ToolStripMenuItem[] items = new ToolStripMenuItem[4]();
foreach (ToolStripMenuItem item in items)
{
    item = new ToolStripMenuItem();
}

Список

List<ToolStripMenuItem> items = new List<ToolStripMenuItem>();
for (int i = 0; i < 4; i++)
{
    items.Add(new ToolStripMenuItem());
}
→ Ссылка