diff options
Diffstat (limited to 'src/mscorlib/src/System/Resources/ResourceSet.cs')
-rw-r--r-- | src/mscorlib/src/System/Resources/ResourceSet.cs | 84 |
1 files changed, 14 insertions, 70 deletions
diff --git a/src/mscorlib/src/System/Resources/ResourceSet.cs b/src/mscorlib/src/System/Resources/ResourceSet.cs index 8775f6411a..b4029a7e9c 100644 --- a/src/mscorlib/src/System/Resources/ResourceSet.cs +++ b/src/mscorlib/src/System/Resources/ResourceSet.cs @@ -13,25 +13,25 @@ ** ===========================================================*/ +using System; +using System.Collections; +using System.IO; +using System.Globalization; +using System.Runtime.InteropServices; +using System.Reflection; +using System.Runtime.Serialization; +using System.Runtime.Versioning; +using System.Diagnostics.Contracts; +using System.Collections.Generic; + namespace System.Resources { - using System; - using System.Collections; - using System.IO; - using System.Globalization; - using System.Runtime.InteropServices; - using System.Reflection; - using System.Runtime.Serialization; - using System.Runtime.Versioning; - using System.Diagnostics.Contracts; - // A ResourceSet stores all the resources defined in one particular CultureInfo. // // The method used to load resources is straightforward - this class // enumerates over an IResourceReader, loading every name and value, and // stores them in a hash table. Custom IResourceReaders can be used. - // - [Serializable] + // public class ResourceSet : IDisposable, IEnumerable { [NonSerialized] protected IResourceReader Reader; @@ -39,11 +39,6 @@ namespace System.Resources private Hashtable _caseInsensitiveTable; // For case-insensitive lookups. -#if LOOSELY_LINKED_RESOURCE_REFERENCE - [OptionalField] - private Assembly _assembly; // For LooselyLinkedResourceReferences -#endif // LOOSELY_LINKED_RESOURCE_REFERENCE - protected ResourceSet() { // To not inconvenience people subclassing us, we should allocate a new @@ -68,16 +63,6 @@ namespace System.Resources ReadResources(); } -#if LOOSELY_LINKED_RESOURCE_REFERENCE - public ResourceSet(String fileName, Assembly assembly) - { - Reader = new ResourceReader(fileName); - CommonInit(); - _assembly = assembly; - ReadResources(); - } -#endif // LOOSELY_LINKED_RESOURCE_REFERENCE - // Creates a ResourceSet using the system default ResourceReader // implementation. Use this constructor to read from an open stream // of data. @@ -89,16 +74,6 @@ namespace System.Resources ReadResources(); } -#if LOOSELY_LINKED_RESOURCE_REFERENCE - public ResourceSet(Stream stream, Assembly assembly) - { - Reader = new ResourceReader(stream); - CommonInit(); - _assembly = assembly; - ReadResources(); - } -#endif // LOOSELY_LINKED_RESOURCE_REFERENCE - public ResourceSet(IResourceReader reader) { if (reader == null) @@ -109,19 +84,6 @@ namespace System.Resources ReadResources(); } -#if LOOSELY_LINKED_RESOURCE_REFERENCE - public ResourceSet(IResourceReader reader, Assembly assembly) - { - if (reader == null) - throw new ArgumentNullException(nameof(reader)); - Contract.EndContractBlock(); - Reader = reader; - CommonInit(); - _assembly = assembly; - ReadResources(); - } -#endif // LOOSELY_LINKED_RESOURCE_REFERENCE - private void CommonInit() { Table = new Hashtable(); @@ -156,15 +118,6 @@ namespace System.Resources Dispose(true); } -#if LOOSELY_LINKED_RESOURCE_REFERENCE - // Optional - used for resolving assembly manifest resource references. - // This can safely be null. - public Assembly Assembly { - get { return _assembly; } - /*protected*/ set { _assembly = value; } - } -#endif // LOOSELY_LINKED_RESOURCE_REFERENCE - // Returns the preferred IResourceReader class for this kind of ResourceSet. // Subclasses of ResourceSet using their own Readers &; should override // GetDefaultReader and GetDefaultWriter. @@ -178,7 +131,8 @@ namespace System.Resources // GetDefaultReader and GetDefaultWriter. public virtual Type GetDefaultWriter() { - return Type.GetType("System.Resources.ResourceWriter, System.Resources.Writer, Version=4.0.1.0, Culture=neutral, PublicKeyToken=" + AssemblyRef.MicrosoftPublicKeyToken, throwOnError: true); + Assembly resourceWriterAssembly = Assembly.Load("System.Resources.Writer, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"); + return resourceWriterAssembly.GetType("System.Resources.ResourceWriter", true); } public virtual IDictionaryEnumerator GetEnumerator() @@ -271,12 +225,6 @@ namespace System.Resources while (en.MoveNext()) { Object value = en.Value; -#if LOOSELY_LINKED_RESOURCE_REFERENCE - if (Assembly != null && value is LooselyLinkedResourceReference) { - LooselyLinkedResourceReference assRef = (LooselyLinkedResourceReference) value; - value = assRef.Resolve(Assembly); - } -#endif //LOOSELYLINKEDRESOURCEREFERENCE Table.Add(en.Key, value); } // While technically possible to close the Reader here, don't close it @@ -308,10 +256,6 @@ namespace System.Resources if (caseTable == null) { caseTable = new Hashtable(StringComparer.OrdinalIgnoreCase); -#if _DEBUG - //Console.WriteLine("ResourceSet::GetObject loading up case-insensitive data"); - BCLDebug.Perf(false, "Using case-insensitive lookups is bad perf-wise. Consider capitalizing " + name + " correctly in your source"); -#endif IDictionaryEnumerator en = copyOfTable.GetEnumerator(); while (en.MoveNext()) |