2011-01-12 2 views
0

런타임에 디자인 타임에 다른 값을 반환하도록 클래스의 속성을 원합니다. 내가 디자인 모드에서 LicenseManager.UsageMode을 사용하고 있음을 감지 할 수 있지만, 내 릴리스 빌드에서 제외하는 것이 좋습니다.디자인 및 런타임에 속성에서 다른 값 가져 오기

어쨌든 Conditional 속성을 사용하여 다음 코드를 구현하는 더 좋은 방법이 있습니까?

public int MyValue 
{ 
    get 
    { 
     int my_value = 10; 

#if DEBUG 
     if (LicenseManager.UsageMode == LicenseUsageMode.Designtime) 
     { 
      my_value = 20; 
     } 
#endif 

     return my_value; 
    } 
} 
+0

이 왜 디자인 타임 속성을 사용하지? 그것은 속성 getter에서 올바른 값을 가져야합니다. –

+0

@ 한스, 무슨 뜻인지 모르겠다. 링크를 제공하거나보다 구체적으로 설명해 주시겠습니까? –

+0

만약 내가 무슨 뜻인지 모르겠다면, 대신 이.DesignTime을 사용해야합니다. LicenseManager는 아직 생성자에서 DesignTime이 초기화되지 않은 상태로 해킹이 발생합니다. –

답변

0

나는 이것이 수표라고 생각합니다. 또는 두 프로그램이 완전히 다른 프로그램으로 별도로 빌드하는 경우 맞춤 변수에 동일한 #if을 사용할 수 있습니다.

두 개의 별도의 빌드가 그래서, 당신은 건물에 대한 사용자 지정 매개 변수를 설정하고이 수행 할 수 있습니다

public int MyValue 
{ 
    get 
    { 

#if DESIGN 
     return 20; 
#else 
     return 10; 
#endif 

    } 
}