DesignTimeResourceProviderFactoryAttribute Class
Specifies the type of resource provider factory for design time. This class cannot be inherited.
Assembly: System.Web (in System.Web.dll)
| Name | Description | |
|---|---|---|
![]() | DesignTimeResourceProviderFactoryAttribute(String) | Initializes a new instance of the DesignTimeResourceProviderFactoryAttribute class with the attribute set to the specified factory type name. |
![]() | DesignTimeResourceProviderFactoryAttribute(Type) | Initializes a new instance of the DesignTimeResourceProviderFactoryAttribute class with the attribute set to the qualified name of the specified factory type. |
| Name | Description | |
|---|---|---|
![]() | FactoryTypeName | Gets the value of the factory type name. |
![]() | TypeId |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | This API supports the product infrastructure and is not intended to be used directly from your code. Returns a value that indicates whether this instance is equal to a specified object.(Inherited from Attribute.) |
![]() | GetHashCode() | Returns the hash code for this instance.(Inherited from Attribute.) |
![]() | GetType() | |
![]() | IsDefaultAttribute() | Determines whether the default provider is used.(Overrides Attribute.IsDefaultAttribute().) |
![]() | Match(Object) | When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.(Inherited from Attribute.) |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) | Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) | Retrieves the type information for an object, which can be used to get the type information for an interface.(Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfoCount(UInt32) | Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from Attribute.) |
![]() ![]() | _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) | Provides access to properties and methods exposed by an object.(Inherited from Attribute.) |
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; } }
Available since 2.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



