Глобальное «использование SpriteBatch = MySpriteBatch» для всех файлов, а не для каждого файла - PullRequest
1 голос
/ 09 марта 2012

В моей игре XNA я расширил SpriteBatch, чтобы переопределить некоторые функции для выполнения того, что я хочу, и добавил несколько своих собственных.

Я хотел, чтобы другие члены использовали этот класс, не меняя все экземпляры SpriteBatch на MySpriteBatch

В файлах вы можете сделать что-то вроде:

using SpriteBatch = MySpriteBatch; // Overrides the Microsoft Spritebatch

Тем не менее, это для каждого файла, я должен включить это. Это становится еще более раздражающим, если мы сделали это больше, чем просто для SpriteBatch, или если мы хотим определить какой-то подробный тип (Project.Class.ThisEnum)

Есть ли способ определить эти имена глобально, один раз, для всего проекта?

Я видел нечто подобное раньше в проекте C ++, в котором заголовок Precompiled был включен в каждый файл, а внутри были все переименования, такие как:

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

1 Ответ

4 голосов
/ 09 марта 2012

Не существует «глобального» способа сделать это в C #.

При этом, в зависимости от того, что вы делаете, вы можете достичь своих целей, используя методы расширения .Это может создать иллюзию «добавления методов» к типу без создания собственного типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...