功能语言还不是很新,但是我用很多F#维护别人的代码.任何人都可以提供一些洞察力吗?
let mtvCap = Rendering.MTViewerCapture(mtViewer)
mtvCap.GetCapture()
mtvCap.ToWpfImage()
grid.Children.Add(mtvCap.ImageElement)
Run Code Online (Sandbox Code Playgroud)
MTViewer.ImageViewer的类型为System.Windows.Controls.Image,而grid是System.Windows.Controls.Grid.
同样,错误是:int类型与类型单位不兼容
我是LINQ的新手,并且不想过度使用并且难以维护这些代码.
你怎么看,这个LINQ查询太长了?
IList<ListViewItem> data = runAnalysis.PassAnalyses.Cast<PassAnalysis>().
Select(passAnalysis => passAnalysis.GetValue(PeakStatistics.PeakStatisticsProperty)).
SelectMany(peakStatistics => peakStatistics.Statistics.
Where(statisticsBase => statisticsBase.Name == statisticType).
Select(statisticsBase => new ListViewItem {Content = statisticsBase})).ToList();
Run Code Online (Sandbox Code Playgroud) 如何清理此LINQ查询以在sql语法中使用SelectMany,而不是像我一样在最后进行方法链接?
var runPeakWidths =
(from ipa in runAnalysis.PassAnalyses
let peakWidths = BuildPeakWidths(ipa)
select peakWidths)
.SelectMany(data => data);
Run Code Online (Sandbox Code Playgroud)
编辑:变成一个紧凑的小方法:
public void CreateRunStatistics(Func<IPassAnalysis, IEnumerable<double>> buildMethod, string name)
{
var data = runAnalysis.PassAnalyses.SelectMany(buildMethod);
statistics.Add(StatisticsBase.Calc(name, data));
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
目前,我在MainWindow.xaml中有这个:
<Image Name="LogoImage" />
Run Code Online (Sandbox Code Playgroud)
这在MainWindow.xaml.cs中:
public ImageSource LogoImageSource { get; set; }
....
var rm = new ResourceManager("Project.Properties.Resources", GetType().Assembly);
var logoBmp = (Bitmap) rm.GetObject("CompanyLogo");
if (logoBmp != null)
{
var hBitmap = logoBmp.GetHbitmap();
ImageSource src =
Imaging.CreateBitmapSourceFromHBitmap(
hBitmap,
IntPtr.Zero,
Int32Rect.Empty,
BitmapSizeOptions.FromEmptyOptions());
LogoImageSource = src;
}
var logoBinding = new Binding("LogoImageSource");
logoBinding.Source = this;
LogoImage.SetBinding(System.Windows.Controls.Image.SourceProperty, logoBinding);
Run Code Online (Sandbox Code Playgroud)
我是这样做的,因为我喜欢将图像保存为嵌入式资源,因此用户安装目录中没有一堆随机文件.
但是如何从XAML而不是C#管理图像绑定(最后3行代码)?
或者,如果有人对如何管理图片资源有任何意见,请与我分享.