DesignTimeResourceProviderFactoryAttribute Class
Assembly: System.Web (in system.web.dll)
[AttributeUsageAttribute(AttributeTargets.Class)] public sealed class DesignTimeResourceProviderFactoryAttribute : Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class) */ public final class DesignTimeResourceProviderFactoryAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class) public final class DesignTimeResourceProviderFactoryAttribute extends Attribute
Not applicable.
The DesignTimeResourceProviderFactoryAttribute class allows a ResourceProviderFactory object to specify the type of the associated DesignTimeResourceProviderFactory object. The DesignTimeResourceProviderFactory class is used to create design-time providers for reading and writing resources. Within Microsoft Visual Studio 2005, a developer can use the Generate Local Resource command on the Tools menu to create resources during design time.
The following code example shows a customized resource provider factory that specifies a customized design-time resource provider factory through the DesignTimeResourceProviderFactoryAttribute attribute. This example does not include the code necessary to implement a customized design-time resource provider factory.
namespace CustomResourceProviders { using System; using System.Collections.Generic; using System.Text; using System.Web.Compilation; using System.Resources; using System.Globalization; using System.Collections; using System.Reflection; using System.Web.UI.Design; [ DesignTimeResourceProviderFactoryAttribute( typeof(CustomDesignTimeResourceProviderFactory)) ] public class CustomResourceProviderFactory : ResourceProviderFactory { public override IResourceProvider CreateGlobalResourceProvider(string classname) { return new CustomResourceProvider(null, classname); } public override IResourceProvider CreateLocalResourceProvider(string virtualPath) { return new CustomResourceProvider(virtualPath, null); } } // Define the resource provider for global and local resources. internal class CustomResourceProvider : IResourceProvider { string _virtualPath; string _className; public CustomResourceProvider(string virtualPath, string classname) { _virtualPath = virtualPath; _className = classname; } private IDictionary GetResourceCache(string culturename) { return (IDictionary) System.Web.HttpContext.Current.Cache[culturename]; } object IResourceProvider.GetObject (string resourceKey, CultureInfo culture) { object value; string cultureName = null; if (culture != null) { cultureName = culture.Name; } else { cultureName = CultureInfo.CurrentUICulture.Name; } value = GetResourceCache(cultureName)[resourceKey]; if (value == null) { value = GetResourceCache(null)[resourceKey]; } return value; } IResourceReader IResourceProvider.ResourceReader { get { string cultureName = null; CultureInfo currentUICulture = CultureInfo.CurrentUICulture; if (!String.Equals(currentUICulture.Name, CultureInfo.InstalledUICulture.Name)) { cultureName = currentUICulture.Name; } return new CustomResourceReader (GetResourceCache(cultureName)); } } } internal sealed class CustomResourceReader : IResourceReader { private IDictionary _resources; public CustomResourceReader(IDictionary resources) { _resources = resources; } IDictionaryEnumerator IResourceReader.GetEnumerator() { return _resources.GetEnumerator(); } void IResourceReader.Close() { } IEnumerator IEnumerable.GetEnumerator() { return _resources.GetEnumerator(); } void IDisposable.Dispose() { return; } } public class CustomDesignTimeResourceProviderFactory : DesignTimeResourceProviderFactory { private CustomDesignTimeLocalResourceProvider _localResourceProvider; private CustomDesignTimeLocalResourceWriter _localResourceWriter; private CustomDesignTimeGlobalResourceProvider _globalResourceProvider; public override IResourceProvider CreateDesignTimeLocalResourceProvider(IServiceProvider serviceProvider) { // Return an IResourceProvider. if (_localResourceProvider == null) { _localResourceProvider = new CustomDesignTimeLocalResourceProvider(); } return _localResourceProvider; } public override IDesignTimeResourceWriter CreateDesignTimeLocalResourceWriter(IServiceProvider serviceProvider) { // Return an IDesignTimeResourceWriter. if (_localResourceWriter == null) { _localResourceWriter = new CustomDesignTimeLocalResourceWriter(); } return _localResourceWriter; } public override IResourceProvider CreateDesignTimeGlobalResourceProvider(IServiceProvider serviceProvider, string classKey) { // Return an IResourceProvider. if (_globalResourceProvider == null) { _globalResourceProvider = new CustomDesignTimeGlobalResourceProvider(); } return _globalResourceProvider; } }
- AspNetHostingPermission for operating in a hosted environment. Associated enumeration: Minimal
Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.