質問

IEnumerableプロパティを持つクラス(ClassA)があります。次に、同じプロパティを持つ別のクラス(ClassB)があります。インターフェイス(InterfaceA)を共有しています。 ClassBは基本的に、複数のClassAのコンテナクラスです。 ClassBのプロパティを実装する方法。

interface InterfaceA
{
    IEnumerable<int> MyInts
    {
        get;
    }
}

class ClassA : InterfaceA
{
    public IEnumerable<int> MyInts
    {
        get;
        private set;
    }
}

class ClassB : InterfaceA
{
    ClassA[] classAs = new ClassA[10];
    public IEnumerable<int> MyInts
    {
        get
        {
            //What goes here ?
            classAs.SelectMany(classA => classA.MyInts);
        }

    }
}

LINQ selectステートメントを使用しようとしましたが、機能しません。

編集: よく見えなかったようです。答えはこの質問にあります。 Tの複数のIEnumerablesを集約する方法

編集2: 他の誰かがそれを必要とする場合に備えて、私のために働いたサンプルコードを含めてください。

役に立ちましたか?

解決

答えを追加するだけで、これは未回答になりません。

classAs.SelectMany(classA =&gt; classA.MyInts);

この質問からこれを見つけました。

>

他のヒント

        public IEnumerable<int> MyInts
        {
            get
            {
                foreach (ClassA c in classAs)
                {
                    foreach (int i in c.MyInts)
                    {
                        yield return i;
                    }
                }
            }

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