ジェネリック引数を持つ別の型の制約を指定したいと思います。
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>,
{
}