//public static Dictionary<string, object> ToDictionary() { // return _GetThreadSingleton().data.ToDictionary(x => x.Key, x => x.Value); //} public static void LoadFrom(ReadOnlyHookData a) { foreach (var d in a.ToDictionary()) { SetData(d.Key, d.Value); } }
//private Dictionary<string, object> _ToDictionary() { // return data.ToDictionary(x => x.Key, x => x.Value); //} //private static HookData _FromDictionary(Dictionary<string, object> data) { // var hd = new HookData(); // foreach (var d in data) { // hd.SetData(d.Key, d.Value); // } // return hd; //} //[Untested("Unit test me")] //protected void SetThreadSingleton() { // Thread.SetData(Thread.GetNamedDataSlot("HookData"),this); //} //[Untested("Unit test me")] //public static T GetData<T>(string key, T deflt = null) where T : class { // return _GetThreadSingleton()._GetData(key, deflt); //} public static ReadOnlyHookData ToReadOnly() { return(ReadOnlyHookData.FromDictionary(_GetThreadSingleton().data)); }