c# - 在派生类中使虚拟基类成员静态
问题描述
我正在用 MonoGame 编写游戏,并且有一个entity
几乎每个游戏对象都使用的类。虽然实体类没有自己定义的纹理,但在texture
该类中声明成员将大大简化代码,因为无需在每个子类中使用完全相同的代码覆盖某些虚函数。
例如,我目前必须把它放在我的Entity
课堂上:
public virtual void Draw() { }
然后将其添加到每个派生类中:
public static Texture2D texture;
...
public override void Draw()
{
if (active)
Game1._spriteBatch.Draw(texture, position, Color.White);
}
我尝试了各种类似的东西new static
,但它们没有用。有人可以帮忙,还是在 C# 中根本不可能?我知道我可以编写一个虚拟访问器函数并覆盖它,但我宁愿不必在每个子类中都编写它。
解决方案
推荐阅读
- javascript - 如何使用 javascript、knex、objection 将对象数组插入 Postgres jsonb 列?
- java - 如何通过类似于使用 WiFi 热点的 NetShare 的 WiFi P2P 网络将我的应用程序连接到其他设备
- python - tkinter - 未定义按钮中的函数调用
- reactjs - 为条形图创建轴时出现错误“path.merge 不是函数”
- android - 左右滑动并缩放图像视图
- html - 两个标签作为一个段落
- microsoft-graph-api - Microsoft Graph API 页面内容图像 src 未呈现
- terraform - 不同的组件,相同的 GCP 项目
- javascript - 当我将鼠标悬停在另一个元素的子元素上时,如何修改指定的元素?
- swift - XCUiTests 应用层次结构是所有其他元素