0

我有一个需要访问 game.service 的 gameComponent。在以下示例中,我收到从对象到 microsoft.xna.framework.graphics.spritebatch 的隐式转换错误。C# 示例显示需要将对象转换为 spritebatch。任何人都可以在 vb.net 中做到这一点吗?

示例:将 spriteBatch 调暗为 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 回答