我有一个需要访问 game.service 的 gameComponent。在以下示例中,我收到从对象到 microsoft.xna.framework.graphics.spritebatch 的隐式转换错误。C# 示例显示需要将对象转换为 spritebatch。任何人都可以在 vb.net 中做到这一点吗?
示例:将 spriteBatch 调暗为 SpriteBatch = Game.Services.GetService(GetType(SpriteBatch))
您没有提到需要投射哪个对象。我猜,这是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)()