1

在我的 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
4

1 回答 1

4

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

话虽如此,根据您所做的事情,您可能能够通过使用扩展方法来实现您的目标。这可能会给类型提供“添加方法”的错觉,而无需实际创建自己的类型。

于 2012-03-09T02:02:43.083 回答