3

オブジェクトのリストがあります。それらを MyObject と呼びましょう。MyObject ではなく、インターフェイスも実装するリストに他のものを追加したいので、それらを IMyInterface のリストに変換する必要があります。これを試しましたが、うまくいきません。.

 List<IMyInterface> myList = myObjectList;  //myObjectList is a List<MyObject>

助言がありますか?配列内の各アイテムを前もってキャストする必要がありますか?

4

3 に答える 3

8

これを試して

List<IMyInterface> l = myList.OfType<IMyInterface>().ToList();
于 2013-06-22T02:51:57.290 に答える
3
myList.Cast<IMyInterface>().ToList()

OfType<>も機能しますが、すべてのアイテムの変換ではなくフィルターとして意図されています。

于 2013-06-22T03:14:02.800 に答える