2011-11-09 26 views

答えて

2

しない - 全てientity(すなわち、同じインターフェースを実装する別のクラスであってもよい)は、必ずしもentityわけではありません - それはリスト上のCast()操作で可能であろう他の方法でラウンド。

3
List<IEntity> myList; 
//initialization omitted 

List<Entity> convertedList = myList.OfType<Entity>().ToList(); 

もちろん、Entityのアイテムのみが得られます。

3
using System.Linq; 
List<Entity> newList = list.Cast<Entity>().ToList(); 
//or 
List<Entity> newList = list.OfType<Entity>().ToList(); 
+0

+1です。 – Nayan

2

LINQを使用して行うことができます。

List<IEntity> theEntities = GetEntities(); 
List<YourEntity> newList = theEntities.OfType<YourEntity>().ToList(); 

あなたが知っている場合は、確かに、あなたのエンティティのすべてがあなたの特定のクラスであることを、あなたは:OfType<T>拡張メソッドを使用すると、リストを構築するために使用することができ、あなたの特定のクラスで実体を、アウト抽出します使用できるのはCast<T>

List<IEntity> theEntities = GetEntities(); 
List<YourEntity> newList = theEntities.Cast<YourEntity>().ToList(); 
関連する問題