2

以下のコードは、ジェネリックを特定のものにキャストするために Java プログラムに使用するものです。C# にはワイルドカードがないことは理解していますが、コードを Java に似たものに変更する方法として、誰かが正しい方向に向けてくれることを期待していました。

public <T extends GameComponent<?>>T getComponent(int id, Class<T> type){
    return type.cast(components.get(id));
}
4

1 に答える 1

4

次のようになります。

public T GetComponent<T>(int id) where T : GameComponent
{
    return components[id] as T;
}

コメントの皆さん、解決策を修正するのを手伝ってくれてありがとう(私は道を外れていたので)。皆さんがいなければ、私はここにいられなかったでしょう。そして、私はあなたがいなくて寂しいです。

<3

しかし、本当に、ありがとう:D

于 2012-06-03T19:27:20.090 に答える