次のような辞書構造があるとしましょう
var stocks = new Dictionary<string, double>();
stocks.Add("APPL", 1234.56);
ディクショナリに追加および削除する機能を保持しながら、それを含むクラスのインスタンス間でコンテンツを「共有」できる方法はありますか? (ちなみに、静的にできない包含クラスから継承することを余儀なくされています。)
または、このタイプの共有を可能にするデータを表す別の方法はありますか?
クラスは、静的メンバーを持つために静的である必要はありません。ディクショナリを保護された静的プロパティとして持つことをお勧めします。ConcurrentDictionary
また、スレッドセーフのために、通常ではなくを使用する必要がありますDictionary
public class MyClass
{
protected static ConcurrentDictionary<string, double> Stocks {get; set;}
static MyClass()
{
Stocks = new ConcurrentDictionary<string, double>();
}
}