0

game.service にアクセスする必要がある gameComponent があります。次の例では、オブジェクトから microsoft.xna.framework.graphics.spritebatch への暗黙的な変換のエラーを受け取りました。C# の例は、オブジェクトをスプライトバッチとしてキャストする必要があることを示しています。誰でもvb.netでこれを行うことができますか?

例: Dim spriteBatch As SpriteBatch = Game.Services.GetService(GetType(SpriteBatch))

4

1 に答える 1

0

どのオブジェクトをキャストする必要があるかは言及しませんでした。おそらく、GetService() の戻り値だと思います。次に、次のようなことをしたい:

Dim spriteBatch As SpriteBatch = DirectCast(Game.Services.GetService(GetType(SpriteBatch)), SpriteBatch)

多分、一般的な方法があなたを助けるでしょう。ジェネリック メソッドでは、キャストする必要はありません。

Function GetService(Of T)() As T
    '...
End Function
Dim spriteBatch = Game.Services.GetService(Of SpriteBatch)()
于 2012-07-17T21:35:03.867 に答える