2011-01-12 10 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

を?それは、プロパティゲッターで適切な値を持つ必要があります。 –

+0

@ハンス、あなたは何を意味するのか分かりません。リンクを提供するか、より具体的にできますか? –

+0

もし私が何を意味しているのか分からなければ、代わりにthis.DesignTimeを使うべきです。 LicenseManagerは、コンポーザーでまだ初期化されていないDesignTimeを持っていないという点で、ハッキリしています。 –

答えて

0

これはあなたが確認する必要があると思います。または、2つが完全に別々のプログラムである場合は、カスタム変数に同じ#ifを実行できます。

ので、2つの別々のビルドがある場合は、建物のためのカスタムパラメータを設定することができ、この操作を行います。設計時プロパティを使用しないのはなぜ

public int MyValue 
{ 
    get 
    { 

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

    } 
} 
関連する問題