私は次のようなものを持っています:
// This part is fine
abstract class Attack {}
abstract class Unit<A> where A : Attack {}
class InstantAttack : Attack {}
class Infantry : Unit<InstantAttack> {}
// I'm lost here, on this part's syntax:
abstract class Controller<U> where U : Unit {}
// I want the above class to take any kind of Unit, but Unit is a generic class!
上記は、では機能しません。これは、ジェネリックパラメータ(など)が必要なため、正しくないController
ためです。私は試した:where U : Unit
Unit
Unit<InstantAttack>
abstract class Controller<U<A>> where U<A> : Unit<A> {}
それは確かに機能しませんでした。これを行うための正しい構文は何ですか?