C# 在C中作为函数调用构造函数
在C中有没有一种方法可以将类构造函数作为标准函数引用?原因是VisualStudio抱怨在函数中使用lambda修改函数,而且通常是一个简单的select语句 例如,var ItemColors=selectedColors.Select x=>newsolidColorBrushX;,其中SelectedColor只是一个IEnumerable 从技术上讲,lambda不应该是多余的吗?select接受一个接受类型T并返回类型U的函数。纯色画笔在这里接受正确的类型T并返回U。只有我认为在C中没有办法做到这一点。在F中,它类似于let ItemColors=map selectedColors new solidcolorbushC# 在C中作为函数调用构造函数,c#,lambda,C#,Lambda,在C中有没有一种方法可以将类构造函数作为标准函数引用?原因是VisualStudio抱怨在函数中使用lambda修改函数,而且通常是一个简单的select语句 例如,var ItemColors=selectedColors.Select x=>newsolidColorBrushX;,其中SelectedColor只是一个IEnumerable 从技术上讲,lambda不应该是多余的吗?select接受一个接受类型T并返回类型U的函数。纯色画笔在这里接受正确的类型T并返回U。只有我认为在C中没
TL;DR:我想我正在寻找var ItemColors=selectedColors的有效形式。选择不需要lamba的新SolidColorBrush。这在C语言中是可能的还是该语言无法表达此构造?否您不能将C构造函数作为方法组引用,并将其作为委托参数传递。最好的方法是通过问题中的lambda语法 我不确定我是否正确理解你。但你说的是工厂吗 通过这种方式,您可以将值传递给工厂,工厂将为您创建一个实例
SolidColorBrush brush = ColorBrushFactory.BrushFrom(color);
希望这有帮助。您可以制定一个正式的方法:
private static SolidColorBrush Transform(Color color)
{
return new SolidColorBrush(color);
}
然后您可以使用如下选择:
var ItemColors = selectedColors.Select(Transform);
他试图从一个普通的ctor中创建一个委托实例。+1,这是一种我最近非常喜欢的构造模式,特别是对于伪不变性,以及在基类中,这些基类从静态create.related问题开始调用其实现者的方法