Есть ли способ в C # ссылаться на конструктор класса как на стандартную функцию?Причина в том, что Visual Studio жалуется на изменение функций с помощью лямбда-выражений в них, и часто это просто оператор выбора.
Например, var ItemColors = selectedColors.Select (x => new SolidColorBrush(x));
, где selectedColors - это просто IEnumerable<System.Windows.Media.Color>
.
Технически говоря, не должна ли лямбда быть избыточной?select принимает функцию, принимающую тип T и возвращающую тип U. Кисть сплошного цвета принимает (правильный) тип T здесь и возвращает U. Только я не вижу способа сделать это в C #.В F # это было бы что-то вроде let ItemColors = map selectedColors (new SolidColorBrush)
.
TL; DR: Я думаю, я ищу правильную форму var ItemColors = selectedColors.select (new SolidColorBrush)
, которая не требует ламбы.Возможно ли это в C # или у языка нет возможности выразить эту конструкцию?