1. ホーム
  2. c#

[解決済み] C# - 複数のジェネリック型を1つのリストで表示

2022-04-23 09:30:57

質問

これはおそらく不可能ですが、私はこのクラスを持っています。

public class Metadata<DataType> where DataType : struct
{
    private DataType mDataType;
}

まだまだありますが、簡単に説明しましょう。 汎用型(DataType)は、where文によって値型に限定されている。 やりたいことは、このMetadataオブジェクトを様々な型(DataType)でリストアップしておくことです。 こんな感じ。

List<Metadata> metadataObjects;
metadataObjects.Add(new Metadata<int>());
metadataObjects.Add(new Metadata<bool>());
metadataObjects.Add(new Metadata<double>());

こんなことが可能なのか?

どのように解決するのですか?

public abstract class Metadata
{
}

// extend abstract Metadata class
public class Metadata<DataType> : Metadata where DataType : struct
{
    private DataType mDataType;
}