Send from filtered user list <T> using LINQ
I have my own list that inherits from Generic.List<T>as follows:
public class TransferFileList<T> : List<TransferFile> { .. }
When I install (where ' Files' is TransferFileList<T>):
var files = uploadResponse.Files.Where(x => !x.Success).ToList()
the object ' Files' is resolved as System.Collections.Generic.List<TransferFile>, and not TransferFileList<T>, what I would expect, since it was what was filtered through Where, so how could I successfully return the list TransferFileList<T>to 'files'?
I tried:
var files = uploadResponse.Files.Where(x => !x.Success).ToList()
as TransferFileList<TransferFile>;
but using this secure listing, it just resolves to null.
Thank you guys and girls.
-, , List<T>? 99% , .
, :
public static something PrintErrors(this List<TransferFile> list)
{
//do your printing logic
}
: ToList() IEnumerable<T> List . List<T>, IEnumerable<T>, , .
Where() - IEnumerable<T> IEnumerable<T>.
- , , , , :
var myFiles = new TransferFileList<TransferFile>();
myFiles.AddRange(originalFileList.Where(condition));
IEnumerable<TransferFile > :
public static TransferFileList ToTransferFileList(
this IEnumerable<TransferFile> files)
{
return new TransferFileList(files);
}
// ...
var files = uploadResponse.Files.Where(x => !x.Success).ToTransferFileList();
TransferFileList List<TransferFile>. , as null, , TransferFileList List<TransferFile>, . List<TransferFile> TransferFileList.
@RexM , List<T> - . (Has-A, Is-A), .
Thanks guys.
I like the SLV extension approach, but is there another direct cast approach?
If it weren’t for me, I could just go with the right built-in approach, I was hoping to avoid:
var transferFiles = new TransferFileList<TransferFile>();
if (files != null)
transferFiles.AddRange(files);