と呼ばれる基本クラスとPowerup、2 つの子孫クラスがBombありRepelます。
オブジェクト型をパラメーターとして渡す場所で呼び出す必要があるメソッドがあります。
public void PowerupExpired<T>() where T : Powerup {
    //do stuff here
}
基本クラスPowerupから子クラスの型を取得してメソッドに渡す方法はありますか? ジェネリック型は使えません。メソッドに渡す型は型でなければなりませんPowerup
現在、私は以下Powerupを使用してクラスを回避しています。
if (this is BombPowerup)
   PowerupManager.PowerupExpired<BombPowerup>();
else if (this is RepelPowerup)
   PowerupManager.PowerupExpired<RepelPowerup>();
//etc etc
これはきれいでも拡張可能でもありませんが。
編集:
追加するのを忘れていました。ジェネリック型を使用できない理由は、ジェネリック型を受け入れないGetComponent<T>()パラメーター型パス スルーを使用して Unity メソッドを使用するためです。PowerupExpired