protected static ListViewItem file(FileInfo fileInfo) { if (!smallImageCache.Images.ContainsKey(fileInfo.Extension)) { Tuple <String, Icon> tuple = IconUtilities.getFileTypeAndIcon(fileInfo.FullName, true); typeNameCache.Add(fileInfo.Extension, tuple.Item1); smallImageCache.Images.Add(fileInfo.Extension, tuple.Item2); } return( new ListViewItem() { Text = fileInfo.Name, ImageKey = fileInfo.Extension, Tag = fileInfo }.withSubItems( new ListViewItem.ListViewSubItem() { Text = typeNameCache[fileInfo.Extension] }, new ListViewItem.ListViewSubItem() { Text = IecByteMultiples.format(fileInfo.Length) }, new ListViewItem.ListViewSubItem() { Text = fileInfo.LastWriteTime.ToString(iso8601FormatString) } ) ); }