これはおそらく不可能ですが、次のようなクラスがあります:
public class Metadata<DataType> where DataType : struct
{
private DataType mDataType;
}
他にもいろいろありますが、簡単に説明します。ジェネリック型 (DataType) は、where ステートメントによって値型に制限されます。私がやりたいのは、さまざまな型 (DataType) のこれらのメタデータ オブジェクトのリストを取得することです。たとえば、次のようになります。
List<Metadata> metadataObjects;
metadataObjects.Add(new Metadata<int>());
metadataObjects.Add(new Metadata<bool>());
metadataObjects.Add(new Metadata<double>());
そんなことが可能なのでしょうか?
ベストアンサー1
public abstract class Metadata
{
}
// extend abstract Metadata class
public class Metadata<DataType> : Metadata where DataType : struct
{
private DataType mDataType;
}