This topic has not yet been rated - Rate this topic

DesignTimeResourceProviderFactoryAttribute Class

Specifies the type of resource provider factory for design time. This class cannot be inherited.

System.Object
  System.Attribute
    System.Web.Compilation.DesignTimeResourceProviderFactoryAttribute

Namespace:  System.Web.Compilation
Assembly:  System.Web (in System.Web.dll)
'Declaration
<AttributeUsageAttribute(AttributeTargets.Class)> _
Public NotInheritable Class DesignTimeResourceProviderFactoryAttribute _
	Inherits Attribute

The DesignTimeResourceProviderFactoryAttribute type exposes the following members.

  NameDescription
Public methodDesignTimeResourceProviderFactoryAttribute(String)Initializes a new instance of the DesignTimeResourceProviderFactoryAttribute class with the attribute set to the specified factory type name.
Public methodDesignTimeResourceProviderFactoryAttribute(Type)Initializes a new instance of the DesignTimeResourceProviderFactoryAttribute class with the attribute set to the qualified name of the specified factory type.
Top
  NameDescription
Public propertyFactoryTypeNameGets the value of the factory type name.
Public propertyTypeIdWhen implemented in a derived class, gets a unique identifier for this Attribute. (Inherited from Attribute.)
Top
  NameDescription
Public methodEqualsInfrastructure. Returns a value that indicates whether this instance is equal to a specified object. (Inherited from Attribute.)
Public methodGetHashCodeReturns the hash code for this instance. (Inherited from Attribute.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodIsDefaultAttributeDetermines whether the default provider is used. (Overrides Attribute.IsDefaultAttribute.)
Public methodMatchWhen overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top
  NameDescription
Explicit interface implemetationPrivate method_Attribute.GetIDsOfNamesMaps a set of names to a corresponding set of dispatch identifiers. (Inherited from Attribute.)
Explicit interface implemetationPrivate method_Attribute.GetTypeInfoRetrieves the type information for an object, which can be used to get the type information for an interface. (Inherited from Attribute.)
Explicit interface implemetationPrivate method_Attribute.GetTypeInfoCountRetrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Attribute.)
Explicit interface implemetationPrivate method_Attribute.InvokeProvides access to properties and methods exposed by an object. (Inherited from Attribute.)
Top

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.

Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Web.Compilation
Imports System.Resources
Imports System.Globalization
Imports System.Collections
Imports System.Reflection
Imports System.Web.UI.Design
Namespace CustomResourceProviders
    <DesignTimeResourceProviderFactoryAttribute(GetType(CustomDesignTimeResourceProviderFactory))> _
    Public Class CustomResourceProviderFactory
        Inherits ResourceProviderFactory
        Public Overrides Function CreateGlobalResourceProvider(ByVal classname As String) As IResourceProvider
            Return New CustomResourceProvider(Nothing, classname)
        End Function 
        Public Overrides Function CreateLocalResourceProvider(ByVal virtualPath As String) As IResourceProvider
            Return New CustomResourceProvider(virtualPath, Nothing)
        End Function 
    End Class 

    ' Define the resource provider for global and local resources. 
    Friend Class CustomResourceProvider
        Implements IResourceProvider
        Dim _virtualPath As String 
        Dim _className As String 

        Public Sub New(ByVal virtualPath As String, ByVal classname As String)
            _virtualPath = virtualPath
            _className = classname
        End Sub 

        Private Function GetResourceCache(ByVal culturename As String) As IDictionary
            Return System.Web.HttpContext.Current.Cache(culturename)
        End Function 

        Function GetObject(ByVal resourceKey As String, ByVal culture As CultureInfo) As Object Implements IResourceProvider.GetObject
            Dim value As Object 
            Dim cultureName As String
            cultureName = Nothing 
            If (IsNothing(culture)) Then
                cultureName = CultureInfo.CurrentUICulture.Name
            Else
                cultureName = culture.Name
            End If

            value = GetResourceCache(cultureName)(resourceKey)
            If (value = Nothing) Then
                value = GetResourceCache(Nothing)(resourceKey)
            End If 
            Return value
        End Function 


        ReadOnly Property ResourceReader() As IResourceReader Implements IResourceProvider.ResourceReader
            Get 
                Dim cultureName As String 
                Dim currentUICulture As CultureInfo
                cultureName = Nothing
                currentUICulture = CultureInfo.CurrentUICulture
                If (Not (String.Equals(currentUICulture.Name, CultureInfo.InstalledUICulture.Name))) Then
                    cultureName = currentUICulture.Name
                End If 

                Return New CustomResourceReader(GetResourceCache(cultureName))
            End Get 
        End Property 
    End Class 

    Friend NotInheritable Class CustomResourceReader
        Implements IResourceReader
        Private _resources As IDictionary

        Public Sub New(ByVal resources As IDictionary)
            _resources = resources
        End Sub 

        Function GetEnumerator1() As IDictionaryEnumerator Implements IResourceReader.GetEnumerator
            Return _resources.GetEnumerator()
        End Function 

        Sub Close() Implements IResourceReader.Close

        End Sub 

        Function GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator
            Return _resources.GetEnumerator()
        End Function 

        Sub Dispose() Implements IDisposable.Dispose

        End Sub 
    End Class 

    Public Class CustomDesignTimeResourceProviderFactory
        Inherits DesignTimeResourceProviderFactory

        Private _localResourceProvider As New CustomDesignTimeLocalResourceProvider
        Private _localResourceWriter As New CustomDesignTimeLocalResourceWriter
        Private _globalResourceProvider As New CustomDesignTimeGlobalResourceProvider

        Public Overrides Function CreateDesignTimeLocalResourceProvider(ByVal serviceProvider As IServiceProvider) As IResourceProvider
            ' Return an IResourceProvider. 
            If (_localResourceProvider Is Nothing) Then
                _localResourceProvider = New CustomDesignTimeLocalResourceProvider
            End If 
            Return _localResourceProvider
        End Function 
        Public Overrides Function CreateDesignTimeLocalResourceWriter(ByVal serviceProvider As IServiceProvider) As IDesignTimeResourceWriter
            ' Return an IDesignTimeResourceWriter. 
            If (_localResourceWriter Is Nothing) Then
                _localResourceWriter = New CustomDesignTimeLocalResourceWriter
            End If 
            Return _localResourceWriter
        End Function 
        Public Overrides Function CreateDesignTimeGlobalResourceProvider(ByVal serviceProvider As IServiceProvider, ByVal classKey As String) As IResourceProvider
            ' Return an IResourceProvider. 
            If (_globalResourceProvider Is Nothing) Then
                _globalResourceProvider = New CustomDesignTimeGlobalResourceProvider
            End If 
            Return _globalResourceProvider
        End Function 
    End Class

.NET Framework

Supported in: 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.