조건이 true이면 하나의 파일을 컴파일하고 조건이 false이면 다른 파일을 컴파일하는 것과 같은 조건을 C#에서 설정할 수 있습니까? C#에서 #include (조건부 컴파일)
#ifdef DEBUG
#include Class1.cs
#else
#include Class2.cs
#endif
같은
또는 가능성이 프로젝트 속성에서 설정의
정렬.
조건이 true이면 하나의 파일을 컴파일하고 조건이 false이면 다른 파일을 컴파일하는 것과 같은 조건을 C#에서 설정할 수 있습니까? C#에서 #include (조건부 컴파일)
#ifdef DEBUG
#include Class1.cs
#else
#include Class2.cs
#endif
같은
또는 가능성이 프로젝트 속성에서 설정의
정렬.
또한 부분 클래스와 부분 메소드가 이와 같은 경우에 매우 유용 할 수 있음을 잊지 마십시오. –
고맙게도 아니, 그런 전처리 기가 아닙니다. 그러나 파일 자체 내에서 전체 파일 구현을 제외 할 수 있습니다. 또는 MSBuild 또는 nAnt로 빌드 프로세스를 설정하여 파일을 전환 할 수 있습니다.
나는 그것을 추천하지 않는다. 차이점을 이해하기 위해 완전히 별개의 파일 두 개가 있어야하는 격렬한 코드가있는 Debug and Release 아이디어는 마음에 들지 않습니다. 모든에서 #if DEBUG
는 ... 그러나
IMO 꽤 큰 코드 냄새 당신 다음과 같이 그것을 할 수 :
// Class1.cs
#if DEBUG
...
#endif
.
// Class2.cs
#if !DEBUG
...
#endif
C#에서는 파일 포함을 사용하지 않지만 조건부 방법을 사용할 수 있습니다.
예를 들어 게임을 개발할 때 입력 클래스에 공유 코드 기반을 사용하고 있지만 Xbox의 경우 하나의 메서드가 호출되기를 원합니다. 다른 메서드는 if 나는 Zune에있다. 여전히 동일한 클래스의 입력 데이터를 반환 할 것이지만이를 얻으려면 매우 다른 경로가 필요합니다.
현재 조건 방법에 대한 자세한 내용을 보려면 : http://msdn.microsoft.com/en-us/library/aa288458(v=VS.71).aspx
가 왜 이렇게해야합니까? – RCIX