dbaseman の回答 (および AKX のコメント) と同様に、次を使用しますCast
。
IEnumerable<MyClass> vats = here.All().Cast<MyClass>();
using
ただし、LINQのディレクティブが必要です。
using System.Linq;
ファイルの上部にあります。Select
メソッドが認識されない場合は、それを取得していないようです。
これは、各値が実際に参照であることを前提としていることに注意してMyClass
ください。
編集:インデックスで値にアクセスできるようにしたい場合は、次を使用することをお勧めしToList
ます:
List<MyClass> vats = here.All().Cast<MyClass>().ToList();
これも機能しToArray
ますが、個人的には、ほとんどの場合、配列よりもリストの方が柔軟性に優れているため、リストを好みます。
編集:あなたの結果は実際にはいっぱいのようですExpandoObject
。MyClass
各アイテムからの新しいインスタンスを作成する必要があります。
List<MyClass> vats = here.All()
.Select(item => new MyClass(item.Name, item.Value))
.ToList();
またはおそらく:
List<MyClass> vats = here.All()
.Select(item => new MyClass {
Name = item.Name,
Value = item.Value,
})
.ToList();
これは単なる例であり、すぐには機能しないと思います。結果が実際にどのように返されるかについては何も知らないため、これ以上のことはできません。
残念ながら、あなたはここで頭を抱えているように聞こえます。