private IList <string> GetResourceNamesForCulture(CultureInfo culture) { var resourceStreamName = _resourceBaseName; if (!string.IsNullOrEmpty(culture.Name)) { resourceStreamName += "." + culture.Name; } resourceStreamName += ".resources"; var cacheKey = $"assembly={_resourceAssemblyWrapper.FullName};resourceStreamName={resourceStreamName}"; var cultureResourceNames = _resourceNamesCache.GetOrAdd(cacheKey, _ => { var names = new List <string>(); using (var cultureResourceStream = _resourceAssemblyWrapper.GetManifestResourceStream(resourceStreamName)) using (var resources = new ResourceReader(cultureResourceStream)) { foreach (DictionaryEntry entry in resources) { var resourceName = (string)entry.Key; names.Add(resourceName); } } return(names); }); return(cultureResourceNames); }
public override ResourceSet?GetResourceSet(CultureInfo culture, bool createIfNotExists, bool tryParents) { var resourceStream = _assemblyWrapper.GetManifestResourceStream(BaseName); return(resourceStream != null ? new ResourceSet(resourceStream) : null); }