我想指定一個約束,這是一個泛型參數的另一種類型。如何將具有泛型參數的類型用作約束條件?
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