私は、特定のオブジェクトを操作するプログラムを作成しています。それらを「単語」と呼んでいます。各単語は、いくつかのクラスの1つのインスタンスです。一度にたくさんあります。オブジェクトへのC#データファイル
これらのWordオブジェクトはそれぞれ、XMLファイルに格納された辞書にアクセスする必要があります。私はWordの各オブジェクトがXMLファイルを別々にロードする必要があるとは思わない。 Wordオブジェクトは、プログラムデータの一部のグローバルプールにアクセスできる必要があります。
これに対処する最も良い方法は何ですか? XML文書を含むProgramDataというクラスを作成し、作成時にすべてのWordオブジェクトに渡す必要がありますか?これにより、XMLファイルの複数のインスタンスがメモリにロードされることはありませんか? ProgramDataをすべての新しいオブジェクトに渡すことなく、私がやりたいことをやり遂げることはできますか?
なぜロックが必要ですか? OPのコードはシングルスレッドであり、使用する前に静的プロパティを設定することができます。また、ロックは現在OPのレベルを上回っている可能性があります。 – KyleM
私はシングルスレッド性については想定していませんし、OPsは適切なロック構造を使用する技術的能力も有していません。それがセットアンドフォールトになるならば、ロックは必要ではないかもしれませんが、それは彼/彼女が考慮すべきものです。 – drharris
十分に公正です。言い換えると、私の前のコメントは主に、静的なプロパティを最初に設定するだけで十分であることをOPに通知することでした。もしそうなら、スレッドの安全性やロックについて心配する必要はありません。それをノックしようとしていません、あなたの返信に+1。 :) – KyleM