namespace ConsoleApplication
public static class Program
public static void Main ()
Settings.Current = new Settings{ ImportantData = "blah blah blah"};
private static Settings _current;
private static readonly object _lock = new object();
public static Settings Current
if (_current == null) throw new InvalidOperationException("Settings uninitialized");
if (value == null) throw new ArgumentNullException();
if (_current != null) throw new InvalidOperationException("Current settings can only be set once.");
if (_current == null) _current = value;
public string ImportantData { get; private set; }