// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: NeutralResourcesLanguageAttribute ** ** [....] ** ** ** Purpose: Tells the ResourceManager what language your main ** assembly's resources are written in. The ** ResourceManager won't try loading a satellite ** assembly for that culture, which helps perf. ** ** ** NOTE: ** ** This custom attribute is no longer implemented in managed code. As part of a perf optimization, ** it is now read in Module::GetNeutralResourcesLanguage, accessed from ManifestBasedResourceGroveler ** through an internal runtime call. ===========================================================*/ namespace System.Resources { using System; using System.Diagnostics.Contracts; [AttributeUsage(AttributeTargets.Assembly, AllowMultiple=false)] [System.Runtime.InteropServices.ComVisible(true)] public sealed class NeutralResourcesLanguageAttribute : Attribute { private String _culture; private UltimateResourceFallbackLocation _fallbackLoc; public NeutralResourcesLanguageAttribute(String cultureName) { if (cultureName == null) throw new ArgumentNullException("cultureName"); Contract.EndContractBlock(); _culture = cultureName; _fallbackLoc = UltimateResourceFallbackLocation.MainAssembly; } public NeutralResourcesLanguageAttribute(String cultureName, UltimateResourceFallbackLocation location) { if (cultureName == null) throw new ArgumentNullException("cultureName"); if (!Enum.IsDefined(typeof(UltimateResourceFallbackLocation), location)) throw new ArgumentException(Environment.GetResourceString("Arg_InvalidNeutralResourcesLanguage_FallbackLoc", location)); Contract.EndContractBlock(); _culture = cultureName; _fallbackLoc = location; } public String CultureName { get { return _culture; } } public UltimateResourceFallbackLocation Location { get { return _fallbackLoc; } } } }