FileItemCollection
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
namespace Relativity.Transfer
{
public class FileItemCollection : IEnumerable<FileItem>, IEnumerable
{
private readonly IEnumerable<FileInfo> fileItemsToEnumerate;
public FileItemCollection(IEnumerable<FileInfo> fileInfos)
{
if (fileInfos == null)
throw new ArgumentNullException("fileInfos");
fileItemsToEnumerate = fileInfos;
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
public IEnumerator<FileItem> GetEnumerator()
{
foreach (FileInfo item in fileItemsToEnumerate) {
yield return new FileItem {
FolderName = PathHelper.ForceRemoveLongPathPrefix(item.DirectoryName),
FullName = PathHelper.ForceRemoveLongPathPrefix(item.FullName),
Length = item.Length,
Name = item.Name
};
}
}
}
}