/// <summary> /// Initializes a new instance of <see cref="ResourceBasedTextResource"/> to read strings from *.resx files /// </summary> /// <param name="resourceAssemblyProvider">The <see cref="IResourceAssemblyProvider"/> that should be used when scanning.</param> public ResourceBasedTextResource(IResourceAssemblyProvider resourceAssemblyProvider) { this.resourceAssemblyProvider = resourceAssemblyProvider; var resources = from assembly in this.resourceAssemblyProvider.GetAssembliesToScan() from resourceName in assembly.GetManifestResourceNames() where resourceName.EndsWith(".resources") let name = Path.GetFileNameWithoutExtension(resourceName) let baseName = resourceName.Replace(".resources", string.Empty) select new { Name = name, Manager = new ResourceManager(baseName, assembly) }; this.resourceManagers = new Dictionary <string, ResourceManager>(StringComparer.OrdinalIgnoreCase); foreach (var x in resources) { if (!this.resourceManagers.ContainsKey(x.Name)) { this.resourceManagers[x.Name] = x.Manager; } else { throw new ArgumentException(string.Format("Key '{0}' already exists;", x.Name)); } } }
/// <summary> /// Initializes a new instance of <see cref="ResourceBasedTextResource"/> to read strings from *.resx files /// </summary> /// <param name="resourceAssemblyProvider">The <see cref="IResourceAssemblyProvider"/> that should be used when scanning.</param> public ResourceBasedTextResource(IResourceAssemblyProvider resourceAssemblyProvider) { this.resourceAssemblyProvider = resourceAssemblyProvider; var resources = from assembly in this.resourceAssemblyProvider.GetAssembliesToScan() from resourceName in assembly.GetManifestResourceNames() where resourceName.EndsWith(".resources") let name = Path.GetFileNameWithoutExtension(resourceName) let baseName = resourceName.Replace(".resources", string.Empty) select new { Name = name, Manager = new ResourceManager(baseName, assembly) }; this.resourceManagers = new Dictionary<string, ResourceManager>(StringComparer.OrdinalIgnoreCase); foreach (var x in resources) { if (!this.resourceManagers.ContainsKey(x.Name)) { this.resourceManagers[x.Name] = x.Manager; } else { throw new ArgumentException(string.Format("Key '{0}' already exists;",x.Name)); } } }
public ResourceViewLocationProviderFixture() { this.reader = A.Fake <IResourceReader>(); this.assemblyProvider = A.Fake <IResourceAssemblyProvider>(); this.viewProvider = new ResourceViewLocationProvider(this.reader, this.assemblyProvider); if (!ResourceViewLocationProvider.RootNamespaces.ContainsKey(this.GetType().Assembly)) { ResourceViewLocationProvider.RootNamespaces.Add(this.GetType().Assembly, "Some.Resource"); } A.CallTo(() => this.assemblyProvider.GetAssembliesToScan()).Returns(new[] { this.GetType().Assembly }); }
public EmbeddedViewLocationProviderFixture() { EmbeddedViewLocationProvider.Ignore.Clear(); this.reader = A.Fake<IResourceReader>(); this.resourceAssemblyProvider = A.Fake<IResourceAssemblyProvider>(); this.viewProvider = new EmbeddedViewLocationProvider(this.reader, this.resourceAssemblyProvider); if (!EmbeddedViewLocationProvider.RootNamespaces.ContainsKey(this.GetType().Assembly)) { EmbeddedViewLocationProvider.RootNamespaces.Add(this.GetType().Assembly, "Some.Resource"); } A.CallTo(() => this.resourceAssemblyProvider.GetAssembliesToScan()).Returns(new[] { this.GetType().Assembly }); }
/// <summary> /// Initializes a new instance of <see cref="ResourceBasedTextResource"/> to read strings from *.resx files /// </summary> /// <param name="resourceAssemblyProvider">The <see cref="IResourceAssemblyProvider"/> that should be used when scanning.</param> public ResourceBasedTextResource(IResourceAssemblyProvider resourceAssemblyProvider) { this.resourceAssemblyProvider = resourceAssemblyProvider; var resources = from assembly in this.resourceAssemblyProvider.GetAssembliesToScan() from resourceName in assembly.GetManifestResourceNames() where resourceName.EndsWith(".resources") let name = Path.GetFileNameWithoutExtension(resourceName) let baseName = resourceName.Replace(".resources", string.Empty) select new { Name = name, Manager = new ResourceManager(baseName, assembly) }; this.resourceManagers = resources.ToDictionary(x => x.Name, x => x.Manager, StringComparer.OrdinalIgnoreCase); }
/// <summary> /// Initializes a new instance of <see cref="ResourceBasedTextResource"/> to read strings from *.resx files /// </summary> /// <param name="resourceAssemblyProvider">The <see cref="IResourceAssemblyProvider"/> that should be used when scanning.</param> public ResourceBasedTextResource(IResourceAssemblyProvider resourceAssemblyProvider) { this.resourceAssemblyProvider = resourceAssemblyProvider; var resources = from assembly in this.resourceAssemblyProvider.GetAssembliesToScan() from resourceName in assembly.GetManifestResourceNames() where resourceName.EndsWith(".resources") let parts = resourceName.Split(new[] { '.' }) let name = parts[parts.Length - 2] let baseName = resourceName.Replace(".resources", string.Empty) select new { Name = name, Manager = new ResourceManager(baseName, assembly) }; this.resourceManagers = resources.ToDictionary(x => x.Name, x => x.Manager, StringComparer.OrdinalIgnoreCase); }
/// <summary> /// Initializes a new instance of the <see cref="ResourceViewLocationProvider"/> class. /// </summary> /// <param name="resourceReader">An <see cref="IResourceReader"/> instance that should be used when extracting embedded views.</param> /// <param name="resourceAssemblyProvider">An <see cref="IResourceAssemblyProvider"/> instance that should be used to determine which assemblies to scan for embedded views.</param> public ResourceViewLocationProvider(IResourceReader resourceReader, IResourceAssemblyProvider resourceAssemblyProvider) { this.resourceReader = resourceReader; this.resourceAssemblyProvider = resourceAssemblyProvider; }