質問

私は二つのクラス....パーセルおよび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);

継承クラスの容器は、上記のコードが有効であること、および継承されたクラスのリストは、基本クラスのオブジェクトを含む場合を生成し、ベースクラスのコンテナから継承された場合。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top