DesignTimeResourceProviderFactoryAttribute クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
デザイン時のリソース プロバイダー ファクトリの型を指定します。 このクラスは継承できません。
public ref class DesignTimeResourceProviderFactoryAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class DesignTimeResourceProviderFactoryAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class)>]
type DesignTimeResourceProviderFactoryAttribute = class
inherit Attribute
Public NotInheritable Class DesignTimeResourceProviderFactoryAttribute
Inherits Attribute
- 継承
- 属性
例
次のコード例は、属性を使用してカスタマイズされたデザイン時リソース プロバイダー ファクトリを指定する、カスタマイズされたリソース プロバイダー ファクトリを DesignTimeResourceProviderFactoryAttribute 示しています。 この例には、カスタマイズされたデザイン時リソース プロバイダー ファクトリを実装するために必要なコードは含まれません。
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];
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.
_localResourceProvider ??= new CustomDesignTimeLocalResourceProvider();
return _localResourceProvider;
}
public override IDesignTimeResourceWriter
CreateDesignTimeLocalResourceWriter(IServiceProvider serviceProvider)
{
// Return an IDesignTimeResourceWriter.
_localResourceWriter ??= new CustomDesignTimeLocalResourceWriter();
return _localResourceWriter;
}
public override IResourceProvider
CreateDesignTimeGlobalResourceProvider(IServiceProvider serviceProvider,
string classKey)
{
// Return an IResourceProvider.
_globalResourceProvider ??= new CustomDesignTimeGlobalResourceProvider();
return _globalResourceProvider;
}
}
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
注釈
この DesignTimeResourceProviderFactoryAttribute クラスを使用すると、オブジェクトは ResourceProviderFactory 関連付けられた DesignTimeResourceProviderFactory オブジェクトの型を指定できます。 この DesignTimeResourceProviderFactory クラスは、リソースの読み取りと書き込みのためのデザイン時プロバイダーを作成するために使用されます。 2005 年Microsoft Visual Studio内に、開発者は [ツール] メニューの [ローカル リソースの生成] コマンドを使用して、デザイン時にリソースを作成できます。
コンストラクター
DesignTimeResourceProviderFactoryAttribute(String) |
指定したファクトリ型の名前に設定された属性を使用して、DesignTimeResourceProviderFactoryAttribute クラスの新しいインスタンスを初期化します。 |
DesignTimeResourceProviderFactoryAttribute(Type) |
指定したファクトリ型の修飾名に設定された属性を使用して、DesignTimeResourceProviderFactoryAttribute クラスの新しいインスタンスを初期化します。 |
プロパティ
FactoryTypeName |
ファクトリ型の名前の値を取得します。 |
TypeId |
派生クラスで実装されると、この Attribute の一意の識別子を取得します。 (継承元 Attribute) |
メソッド
Equals(Object) |
このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。 (継承元 Attribute) |
GetHashCode() |
このインスタンスのハッシュ コードを返します。 (継承元 Attribute) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
IsDefaultAttribute() |
既定のプロバイダーが使用されているかどうかを判断します。 |
Match(Object) |
派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (継承元 Attribute) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
明示的なインターフェイスの実装
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
一連の名前を対応する一連のディスパッチ識別子に割り当てます。 (継承元 Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。 (継承元 Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 (継承元 Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。 (継承元 Attribute) |