へのIList
IList GetList()
を次のようにするIListを実装しています
public System.Collections.IList GetList()
{
return this._mydata; // Implements IList<MyDataRow>
}
しかし、私は言ってコンパイルエラーを取得:Cannot implicitly convert type MyData to System.Collections.IList
を。
のリストを作成してこのリストオブジェクトを返すと、それが動作します。
public System.Collections.IList GetList()
{
List<MyDataRow> list = new List<MyDataRow>();
foreach (MyDataRow row in this._mydata)
{
list.Add(row);
}
return list;
}
をしかし、ちょうどIList
にタイプIList<T>
からそれを得るためにリストを再作成するために持っていることは非常に非効率です。だから、他の言葉で、これは動作します。なぜ私はList<MyDataRow>' from 'GetList()
を返しますが、IList<MyDataRow>
は返せませんか?誰でも私に新しいリストを再投入せずにIList<MyDataRow>
を返す方法を知っていますか?
はUPDATE:_mydata
メンバ変数が宣言されている
:
private MyData _mydata;
そしてMyData
が宣言されている:なぜ私はList<MyDataRow>
GetList()
から戻ることができ、それは
public class MyData : IList<MyDataRow>
{
....
}
は '_mydata'フィールドの宣言された型は何ですか? –
@NicoleCalinoiu:彼が取得するエラーメッセージによると、それは 'MyData'です。 – Heinzi