[SecurityCritical]
private ResourceSet InternalGetResourceSet(CultureInfo requestedCulture, bool createIfNotExists, bool tryParents, ref StackCrawlMark stackMark)
{
Dictionary<string, ResourceSet> localResourceSets = this._resourceSets;
ResourceFallbackManager manager = new ResourceFallbackManager(requestedCulture, this._neutralResourcesCulture, tryParents);
ResourceSet set = null;
CultureInfo info = null;
foreach (CultureInfo info2 in manager)
{
if (FrameworkEventSource.IsInitialized)
{
FrameworkEventSource.Log.ResourceManagerLookingForResourceSet(this.BaseNameField, this.MainAssembly, info2.Name);
}
lock (localResourceSets)
{
if (localResourceSets.TryGetValue(info2.Name, out set))
{
if (FrameworkEventSource.IsInitialized)
{
FrameworkEventSource.Log.ResourceManagerFoundResourceSetInCache(this.BaseNameField, this.MainAssembly, info2.Name);
}
break;
}
}
set = this.resourceGroveler.GrovelForResourceSet(info2, localResourceSets, tryParents, createIfNotExists, ref stackMark);
if (set != null)
{
info = info2;
break;
}
}
if ((set != null) && (info != null))
{
foreach (CultureInfo info3 in manager)
{
AddResourceSet(localResourceSets, info3.Name, ref set);
if (info3 == info)
{
return set;
}
}
}
return set;
}
Add a code snippet to your website: www.paste.org