private static YConfig <T> Retrieve(string filename, Func <string, string> PreProccessContent = null) { if (string.IsNullOrWhiteSpace(filename)) { return(null); } try { //Read in configuration array from file pointed to by input param (or falling back to default file) #if NETFX var content = File.ReadAllText(filename); #elif UNIVERSAL var ss = new Tools.StorageService(false); var content = ss.LoadFile(filename).GetResults(); #endif if (PreProccessContent != null) { content = PreProccessContent(content); } //deserialize into List of Configurations and pick the active one return(content.FromJSON <YConfig <T> >()); } catch (Exception ex) { DebugEx.TraceLog("Failed to read config file : " + ex.Message); return(null); } }