我有以這種方式所定義的基本DataTag類:處理不同的表示方法
public abstract class DataTag<TRaw, TVal>
{
public abstract TVal Value { get; }
public TRaw RawValue { get; set; }
public string Name { get; private set; }
public string Desc { get; private set; }
}
其中TRaw是從設備拍攝的原始數據,而TVal是「格式化的」值。
所以我也可以有相同的設備2個標籤:
DataTag t1 = DataTag.Create<ushort,int>();
DataTag t2 = DataTag.Create<ushort[],float()>;
現在我有它應該包含通用標籤
private IEnumerable<DataTag<?,?> _tags();
當然C#的名單將不接受不同類型的類泛型在同一個列表中,但這是我想實現的。任何提示?
與此問題類似。你有這裏的代碼示例: http://stackoverflow.com/questions/1541152/c-sharp-generic-where-constraint-with-any-generic-type-definition – Nenad 2013-03-09 11:58:02