System.Resources.ResourceSet.GetString C# (CSharp) Method

GetString() public method

public GetString ( String name, bool ignoreCase ) : String
name String
ignoreCase bool
return String
        public virtual String GetString(String name, bool ignoreCase)
        {
            Hashtable copyOfTable = Table;  // Avoid a race with Dispose
            if (copyOfTable == null)
                throw new ObjectDisposedException(null, Environment.GetResourceString("ObjectDisposed_ResourceSet"));
            if (name==null)
                throw new ArgumentNullException("name");

            String s;
            try {
                s = (String) copyOfTable[name];
            }
            catch (InvalidCastException) {
                throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_ResourceNotString_Name", name));
            }
            if (s != null || !ignoreCase)
                return s;

            // Try doing a case-insensitive lookup.
            Hashtable caseTable = _caseInsensitiveTable;  // Avoid race with Close
            if (caseTable == null) {
                caseTable = new Hashtable(StringComparer.OrdinalIgnoreCase);
#if _DEBUG
                //Console.WriteLine("ResourceSet::GetString loading up data.  ignoreCase: "+ignoreCase);
                BCLDebug.Perf(!ignoreCase, "Using case-insensitive lookups is bad perf-wise.  Consider capitalizing "+name+" correctly in your source");
#endif
                IDictionaryEnumerator en = copyOfTable.GetEnumerator();
                while (en.MoveNext()) {
                    caseTable.Add(en.Key, en.Value);
                }
                _caseInsensitiveTable = caseTable;
            }
            try {
                return (String) caseTable[name];
            }
            catch (InvalidCastException) {
                throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_ResourceNotString_Name", name));
            }
        }
        

Same methods

ResourceSet::GetString ( String name ) : String

Usage Example

Esempio n. 1
0
        public virtual string GetString(string name, CultureInfo culture)
        {
            if (name == null)
            {
                throw new ArgumentNullException("Name is null.");
            }

            if (culture == null)
            {
                culture = CultureInfo.CurrentUICulture;
            }

            lock (this) {
                ResourceSet set = InternalGetResourceSet(culture, true, true);
                string      str = null;

                if (set != null)
                {
                    str = set.GetString(name, ignoreCase);
                    if (str != null)
                    {
                        return(str);
                    }
                }

                /* Try parent cultures */

                do
                {
                    culture = culture.Parent;

                    set = InternalGetResourceSet(culture, true, true);
                    if (set != null)
                    {
                        str = set.GetString(name, ignoreCase);
                        if (str != null)
                        {
                            return(str);
                        }
                    }
                } while(!culture.Equals(neutral_culture) &&
                        !culture.Equals(CultureInfo.InvariantCulture));
            }

            return(null);
        }
All Usage Examples Of System.Resources.ResourceSet::GetString