我有一个需要访问game.service的gameComponent。在下面的示例中,我收到了从对象到microsoft.xna.framework.graphics.spritebatch的隐式转换错误。 C#示例显示该对象需要作为spritebatch进行转换。任何人都可以在vb.net中这样做吗?
实施例: Dim spriteBatch As SpriteBatch = Game.Services.GetService(GetType(SpriteBatch))
答案 0 :(得分: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)()