示例#1
0
        /// <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));
                }
            }
        }
示例#3
0
        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 });
        }
示例#5
0
        /// <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 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 <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;
 }
 /// <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;
 }