2012-03-09 4 views
2

내 XNA 게임에서 SpriteBatch를 확장하여 원하는 기능을 수행하도록 일부 기능을 재정의하고 내 자신을 추가했습니다. 이것을 그러나파일을 제외한 모든 파일에 대해 "using SpriteBatch = MySpriteBatch"를 사용합니다.

using SpriteBatch = MySpriteBatch; // Overrides the Microsoft Spritebatch 

:

난 당신이 뭔가를 할 수 있습니다 "MySpriteBatch"파일에서

에 "의 SpriteBatch"의 모든 인스턴스를 변경하지 않고도이 클래스를 사용하는 힘이 다른 회원을 원했다 모든 파일에 대해 반드시 포함해야합니다. SpriteBatch뿐만 아니라 좀 더 자세한 유형 (Project.Class.ThisEnum)을 정의하고 싶다면 더 귀찮습니다.

이러한 이름을 전체적으로 한 번 정의하면됩니다 계획?

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

제목 앞에 "C# -"을 붙이지 마십시오. 그것이 바로 태그가있는 것입니다. –

답변

4

더 "글로벌"없습니다 : 내가 전에 C에서 이런 일을 본 적이

는 ++ 그들이 미리 컴파일 된 헤더를 가지고 프로젝트는 모든 파일에 포함되어 있으며, 내부 등 모든 이름을 변경했다 C#에서 이렇게하는 방법.

즉, 수행하는 작업에 따라 extension methods을 사용하여 목표를 달성 할 수 있습니다. 이것은 실제로 자신의 타입을 생성하지 않고 타입에 "메소드 추가"를 제공 할 수 있습니다.

+1

글로벌이 아니라는 것에 너무 나쁩니다. 그러나 확장 메서드가 나를 위해 작동합니다, 팁 주셔서 감사합니다! – MintyAnt