2016-11-24 7 views
0

アプリケーションでオートプロパティが持続する期間に関する情報が見つかりませんでしたか?オートプロパティはどのくらい続きますか?

私が言っていることは、アプリケーションが実行されている間、デフォルト値を保持しているということですか?私は以下のコード例のように、起動時に自動プロパティを初期化する場合 すなわち、

namespace MyApplication 
{ 
    /// <summary> 
    /// Interaction logic for MainWindow.xaml 
    /// </summary> 
    public partial class MainWindow 
    { 
     public MainWindow() 
     {    
      example = "SomeString"; 
      InitializeComponent(); 

     } 

    .....////other stuff 

     public static string example { get; set; } 
    } 
} 

それは、アプリケーションの実行の全体のためにその値を維持するだろうか?再割り当てやINotifyPropertyChangedを介して値を変更できるという事実は別として、値が失われて再割り当てする必要がある場合がありますか?

値が失われる可能性がある場合、原因は何ですか?

注:automatic-propertiesのすべてのタグを調べましたので、これが重複している場合は、私の検索で何も見つかりませんでしたのでお知らせください。

+1

なぜそれが単独で変わると思いますか?プロパティがそのオブジェクトのメンバである場合、オブジェクトの存続期間中存在しますか? – OldProgrammer

+0

いいえ、(特にその動作をプログラムしない限り)プロパティは時間の経過と共に値を「失う」ことはありません。 – Blorgbeard

+1

@OldProgrammer、私はそれがそれ自身で変化するとは思わなかった、私はそれがその価値を落とすことができるかどうか尋ねたと思う。つまり、VBAグローバル変数では、特定の状況でその価値が失われる可能性がありますが、アプリケーションのライフサイクル全体にわたって価値を保持できると考えられています。 – KyloRen

答えて

1

静的自動プロパティの有効期間は、自動プロパティとは完全に無関係であり、代わりにstatic修飾子によって決定されます。

documentationにより述べたように:

静的変数は、それを含むタイプの静的コンストラクタの実行前に存在するようになる、と関連するアプリケーションドメインがが存在しなくなったときが存在しなくなります。

静的自動プロパティの値は、他の変数と同じ方法で管理されます。

+0

私は間違った場所で探していたので、その文書を見つけることができませんでした。助けのためのUV。 – KyloRen

関連する問題