private void CommonSatelliteAssemblyInit() { UseManifest = true; _resourceSets = new Dictionary<String,ResourceSet>(); _fallbackLoc = UltimateResourceFallbackLocation.MainAssembly; ResourceManagerMediator mediator = new ResourceManagerMediator(this); resourceGroveler = new ManifestBasedResourceGroveler(mediator); _neutralResourcesCulture = ManifestBasedResourceGroveler.GetNeutralResourcesLanguage(MainAssembly, ref _fallbackLoc); #if !FEATURE_CORECLR // PAL doesn't support eventing, and we don't compile event providers for coreclr if (FrameworkEventSource.IsInitialized && FrameworkEventSource.Log.IsEnabled()) { CultureInfo culture = CultureInfo.InvariantCulture; String defaultResName = GetResourceFileName(culture); if (resourceGroveler.HasNeutralResources(culture, defaultResName)) { FrameworkEventSource.Log.ResourceManagerNeutralResourcesFound(BaseNameField, MainAssembly, defaultResName); } else { String outputResName = defaultResName; if (_locationInfo != null && _locationInfo.Namespace != null) outputResName = _locationInfo.Namespace + Type.Delimiter + defaultResName; FrameworkEventSource.Log.ResourceManagerNeutralResourcesNotFound(BaseNameField, MainAssembly, outputResName); } } #pragma warning disable 618 ResourceSets = new Hashtable(); // for backward compatibility #pragma warning restore 618 #endif }
// Constructs a Resource Manager for files beginning with // baseName in the directory specified by resourceDir // or in the current directory. This Assembly-ignorant constructor is // mostly useful for testing your own ResourceSet implementation. // // A good example of a baseName might be "Strings". BaseName // should not end in ".resources". // // Note: System.Windows.Forms uses this method at design time. // private ResourceManager(String baseName, String resourceDir, Type usingResourceSet) { if (null==baseName) throw new ArgumentNullException("baseName"); if (null==resourceDir) throw new ArgumentNullException("resourceDir"); Contract.EndContractBlock(); #if !FEATURE_CORECLR // This constructor is not designed to be used under AppX and is not in the Win8 profile. // However designers may use them even if they are running under AppX since they are // not subject to the restrictions of the Win8 profile. Contract.Assert(!AppDomain.IsAppXModel() || AppDomain.IsAppXDesignMode()); #endif BaseNameField = baseName; moduleDir = resourceDir; _userResourceSet = usingResourceSet; #pragma warning disable 618 ResourceSets = new Hashtable(); // for backward compatibility #pragma warning restore 618 _resourceSets = new Dictionary<String, ResourceSet>(); _lastUsedResourceCache = new CultureNameResourceSetPair(); UseManifest = false; ResourceManagerMediator mediator = new ResourceManagerMediator(this); resourceGroveler = new FileBasedResourceGroveler(mediator); #if !FEATURE_CORECLR // PAL doesn't support eventing, and we don't compile event providers for coreclr if (FrameworkEventSource.IsInitialized && FrameworkEventSource.Log.IsEnabled()) { CultureInfo culture = CultureInfo.InvariantCulture; String defaultResName = GetResourceFileName(culture); if (resourceGroveler.HasNeutralResources(culture, defaultResName)) { FrameworkEventSource.Log.ResourceManagerNeutralResourcesFound(BaseNameField, MainAssembly, defaultResName); } else { FrameworkEventSource.Log.ResourceManagerNeutralResourcesNotFound(BaseNameField, MainAssembly, defaultResName); } } #endif }
private ResourceManager(String baseName, String resourceDir, Type usingResourceSet) { if (null==baseName) throw new ArgumentNullException("baseName"); if (null==resourceDir) throw new ArgumentNullException("resourceDir"); Contract.EndContractBlock(); BaseNameField = baseName; moduleDir = resourceDir; _userResourceSet = usingResourceSet; #pragma warning disable 618 ResourceSets = new Hashtable(); // for backward compatibility #pragma warning restore 618 _resourceSets = new Dictionary<String, ResourceSet>(); UseManifest = false; ResourceManagerMediator mediator = new ResourceManagerMediator(this); resourceGroveler = new FileBasedResourceGroveler(mediator); #if !FEATURE_CORECLR // PAL doesn't support eventing, and we don't compile event providers for coreclr if (FrameworkEventSource.IsInitialized && FrameworkEventSource.Log.IsEnabled()) { CultureInfo culture = CultureInfo.InvariantCulture; String defaultResName = GetResourceFileName(culture); if (resourceGroveler.HasNeutralResources(culture, defaultResName)) { FrameworkEventSource.Log.ResourceManagerNeutralResourcesFound(BaseNameField, MainAssembly, defaultResName); } else { FrameworkEventSource.Log.ResourceManagerNeutralResourcesNotFound(BaseNameField, MainAssembly, defaultResName); } } #endif }