を利用できませんAddRange追加サブクラス化のだろう?
-
21-08-2019 - |
質問
私は二つのクラス....パーセルおよびFundParcel---と思うとに変換するにはIEnumerableのサブタイプへのIListのスーパータイプ....
public class FundParcel : Parcel
{
/* properties defined here */
}
public class Parcel
{
/* properties defined here */
}
これらの使用には別のクラスの分解方法として
private IList<Parcel> ExtractParcels(IEnumerable<FundParcel> fundParcels)
{
var parcels = new List<Parcel>();
foreach (var fp in fundParcels)
parcels.Add(fp);
return parcels;
}
何かわからないか、foreach文できません減:
parcels.AddRange(fundParcels);
については基本的にエラーがこの引数型 'System.Colection.Generic.IEnumerable<FundParcel>' is not assignable to parameter type 'System.Collections.Generic.IEnumerable<Parcel>'"
でもそうなるとしかわからないのはなぜ荷物.追加のし---
感じとしても全体の方法べき換えの線:
return (List<Parcel>)fundParcels;
...かの方法で廃車alltogether以降のサブタイプは代用そのスーパータイプ..
誰でもできるので説明のあとAddRangeこの場合に、そのためのループが必要かるでしょうか?
解決
このよう ものご質問やお問いまま参考文献次回C#4.0を支えるCo-/魂斗羅-分散も一定程度織り込んでいる。
他のヒント
このコードを考えてみます:
void AddParcelToParcelList(List<Parcel> parcels) {
parcels.add(new Parcel());
}
List<FundParcel> fundParcels = new List<FundParcels>();
AddParcelToParcelList(fundParcels);
継承クラスの容器は、上記のコードが有効であること、および継承されたクラスのリストは、基本クラスのオブジェクトを含む場合を生成し、ベースクラスのコンテナから継承された場合。
所属していません StackOverflow