public static MoviesDAL.MovieSettings_GetRecord GetSetting(SettingID SettingID) { Dictionary <int, MoviesDAL.MovieSettings_GetRecord> allSettings = MovieSettings.GetAllSettings(); if (allSettings.TryGetValue((int)SettingID, out MoviesDAL.MovieSettings_GetRecord returnValue) == false) { lock (_syncObject) { // Do it again to make sure another thread didn't load it. if (allSettings.TryGetValue((int)SettingID, out returnValue) == false) { returnValue = null; } } } return(returnValue); }