我想指定一个约束,这是一个泛型参数的另一种类型。如何将具有泛型参数的类型用作约束条件?
class KeyFrame<T>
{
public float Time;
public T Value;
}
// I want any kind of Keyframe to be accepted
class Timeline<T> where T : Keyframe<*>
{
}
但是这不能在c#中完成,因为(我真的怀疑它会永远)。是否有任何优雅的解决这个,而不是因为时间线是最有可能的关键帧聚合来指定关键帧参数?:
class Timeline<TKeyframe, TKeyframeValue>
where TKeyframe : Keyframe<TKeyframeValue>,
{
}
你使用的是什么版本的C#...永远不会看到时间轴其中T:关键帧<*> m Ÿ生活 –
2008-09-29 18:05:05
时间轴是一类我自己的:) – Trap 2008-09-29 18:07:05
我想的愿望将有类似于从C++模板,模板类',所以 类时间轴> { } 强制使用的关键帧的任何专业化作为时间轴的约束条件 –
workmad3
2008-09-29 18:10:50