通常、設定クラスを宣言します。次に起動時に設定ファイルを読み込み、それを設定オブジェクトに逆シリアル化して静的変数に保持します。
この方法で、すべての場所からプロパティにアクセスするだけで、設定にアクセスできます。
public class MySettings {
public string RemoteServerAddress { get; set; }
public int TcpCommunicationTimeout { get; set; }
}
public class Program {
public readonly static MySettings ProgramSettings { get; private set; }
static void Main(string[] args) {
var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MySettings));
using(var stream = System.IO.File.OpenRead("config file path")){
Program.ProgramSettings = (MySettings)serializer.Deserialize(stream);
}
SomeMethod();
}
static void SomeMethod(){
if (Program.ProgramSettings.TcpCommunicationTimeout > 5) {
...
}
}
}
静的変数を使用し、リードチェックでその変数がnullの読み取りの場合は、ファイルから – Damirchi
読むのすべて( 'Settings'クラスを逆シリアル化)またはデータが収まるように大きすぎる場合キャッシュを整理します。 – Sinatr