C# - 1 つのリストに複数のジェネリック型がある 質問する

C# - 1 つのリストに複数のジェネリック型がある 質問する

これはおそらく不可能ですが、次のようなクラスがあります:

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;
}

おすすめ記事