这可能是不可能的,但我有这个课程:
public class Metadata<DataType> where DataType : struct
{
private DataType mDataType;
}
Run Code Online (Sandbox Code Playgroud)
还有更多,但让我们保持简单.泛型类型(DataType)仅限于where语句的值类型.我想要做的是拥有不同类型(DataType)的这些元数据对象的列表.如:
List<Metadata> metadataObjects;
metadataObjects.Add(new Metadata<int>());
metadataObjects.Add(new Metadata<bool>());
metadataObjects.Add(new Metadata<double>());
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?
遵循以下两个SO问题:
和
public interface IValue
{
object Min { get; set; }
object Max { get; set; }
object Avg { get; set; }
}
public abstract class Value<T> : IValue
{
abstract T Min;
abstract T Max;
abstract T Avg;
object IValue.Avg { get { return Avg; } }
object IValue.Min { get { return Min; } }
object IValue.Max { get { return Max; } }
public Value(T min, T max, T avg)
{ …Run Code Online (Sandbox Code Playgroud)