ため、鋳造私はC#でジェネリック医薬品に新しいですし、本を読みながら例つまずい:は、ジェネリックを使用する代わりに、AsEnumerable
var cars = from car in data.AsEnumerable()
where
car.Field<string>("Color") == "Red"
select new
{
ID = car.Field<int>("CarID"),
Make = car.Field<string>("Make")
};
著者はcar.Field<string>("Color")
が(string)car["Color"]
と比較チェックする追加のコンパイル時間を与えることを言います。しかし、コンパイラはcar.Field<string>("Color")
が "CarID"ではなく "Color"に対してコンパイル可能であることをどのように知っていますか?あるいは、別の「コンパイル時の追加チェック」がありますか?
@DBM、 'car'は' IEnumerableを 'ではない、それは 'T'です。 –
svick
ああ、そうです。私は疲れています... Tは 'DataRow' –