사용자 정의 클래스에 제네릭 목록을 주조 :C#을 Linq에 내가이 같은 사용자 지정 컬렉션 클래스를 선언 한
내 코드에서public class WipCommesse
{
private string FNumCommessa;
private int FIdTipologia, FTotQtaLetta;
public int IdTipologia
{
get { return FIdTipologia; }
set { FIdTipologia = value; }
}
public string NumCommessa
{
get { return FNumCommessa; }
set { FNumCommessa = value; }
}
public int TotQtaLetta
{
get { return FTotQtaLetta; }
set { FTotQtaLetta = value; }
}
}
public class WipCommesseList : List<WipCommesse>
{
}
I 그룹 다른 목록에 Linq에를 사용하고 난 내 사용자 정의 형식으로 캐스팅 할
WipCommesseList wipGrouped =
(WipCommesseList)myList.GroupBy(x => new
{
x.IdTipologia,
x.NumCommessa
}).
Select(g => new WipCommesse()
{
IdTipologia = g.Key.IdTipologia,
NumCommessa = g.Key.NumCommessa,
TotQtaLetta = g.Sum(i => i.QtaLanciabile)
}).ToList();
클래스의 정의는 동일하지만 ToList() 메서드를 호출하면 System.Collection.Generic.List로 반환되고 캐스트가 실패합니다.
내 수업으로 올바르게 변환하려면 어떻게해야합니까?
세 번째 옵션은 생성자를 추가하여 WipCommesseList의 IEnumerable에서 새 개체를 만들 수 있으며 List의 생성자 목록에있는 개체입니다. (아래 참조) –
netniV
@netniV 그래, 좋은 옵션이긴하지만 확장 메서드는 LINQ를 사용하는 것처럼 느껴진다. 그래서 나는이 방법을 선호한다. –