c# - 访问包含在另一个类中的类中的方法,而不引用包含的类
问题描述
我有一个Screen
包含SpriteBatch
来自 Monogame 的类。我想访问该SpriteBatch.Draw()
方法,而不必这样做Screen.spriteBatch.Draw()
,而是:
screen.Draw(sprite, position, color);
我可以通过定义这样的方法来做到这一点:
class Screen
{
public void Draw(Texture2D texture, Rectangle rect, Color color)
{
spriteBatch.Draw(texture, rect, color);
}
public void Draw(Texture2D texture, Vector2 position, Color color)
{
spriteBatch.Draw(texture, position, color);
}
.... and so on for every other override of SpriteBatch.Draw
}
但这显然很长,我宁愿不必手动输入每个覆盖。
有没有更简单的方法来做到这一点?
解决方案
让 Screen 类继承自 SpriteBatch,代码如下:
Screen : SpriteBatch
推荐阅读
- javascript - 无法在 flex child 上将高度设置为 100%
- oop - Unity - 带有 Sets 和 Gets 的 NullReferenceException
- wordpress - Wordpress 中的 Watson Assistant 插件
- javascript - Youtube 下载器 - ytdl-core
- jwt - 使用 IdentityServer 的 IdentityModel 库时,System.IdentityModel.Tokens.Jwt 是否需要与 JWT 一起使用?
- apache-spark - 如何增加 Spark Streaming/Kafka 中处理某个阶段的 executor 数量?
- swift - Swift 本地通知,显示视图控制器并传递数据
- python - 凯撒密码移动了两个字母而不是一个
- c# - 将文件从子文件夹和主目录复制到另一个位置c#
- javascript - 带有 PubSub 的 Socket.io:多页面刷新后几乎没有实时数据显示