Global”;使用SpriteBatch=MySpriteBatch“;对于所有文件';s、 不是每个文件

本文关键字:文件 于所 SpriteBatch 使用 MySpriteBatch Global | 更新日期: 2023-09-27 18:27:09

在我的XNA游戏中,我扩展了SpriteBatch来覆盖一些函数来做我想做的事情,并添加了一些我自己的函数。

我想强迫其他成员使用这个类,而不必将"SpriteBatch"的所有实例更改为"MySpriteBatch"

在文件中,您可以执行以下操作:

using SpriteBatch = MySpriteBatch; // Overrides the Microsoft Spritebatch

然而,这是为每一个文件,我必须包括这一点。如果我们这样做不仅仅是为了SpriteBatch,或者如果我们想定义一些详细的类型(Project.Class.ThisEnum),那就更麻烦了

有没有一种方法可以为整个项目全局定义这些名称?

我以前在C++项目中看到过这样的情况,在这个项目中,每个文件都包含一个预编译的头,里面是所有的重命名,比如:

#define INT int //INT is now the same as int

Global”;使用SpriteBatch=MySpriteBatch“;对于所有文件';s、 不是每个文件

在C#中没有"全局"方法可以做到这一点。

也就是说,根据你正在做的事情,你可能能够通过使用扩展方法来实现你的目标。这可以提供向类型"添加方法"的错觉,而无需实际创建自己的类型。