|
分類:[.NET 全般]
はじめまして。
Itemクラスを作成して、そこからItemValueクラスを派生させます。 ItemValueクラスからは「IntItem」と「DoubleItem」に派生させて、 ItemNameとValueがペアになった構造体のようなものを定義したいと考えています。
class Item { string Name; }
class ItemValue<T> : Item { T Value; }
class IntItem : ItemValue<int> { }
class DoubleItem : ItemValue<double> { }
最終的に使いたいのは「IntItem・DoubleItem」なのですが、 混在したリストを作成したいので それぞれNewした後、基底クラスのItemValueにキャストしようと思ったのですが、 エラーとなってしまいます。
IntItem item1 = new IntItem(); DoubleItem item2 = new DoubleItem(); //item1,item2をList<ItemValue>に格納したい・・・
上記の場合、ItemValueにはキャストできないのでしょうか? (Itemにはキャストできました)
|