IResourceProvider.ResourceReader プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > IResourceProvider.ResourceReader プロパティの意味・解説 

IResourceProvider.ResourceReader プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

リソース値をソースから読み取るオブジェクト取得します

名前空間: System.Web.Compilation
アセンブリ: System.Web (system.web.dll 内)
構文構文

ReadOnly Property ResourceReader As
 IResourceReader
Dim instance As IResourceProvider
Dim value As IResourceReader

value = instance.ResourceReader
IResourceReader ResourceReader { get; }
property IResourceReader^ ResourceReader {
    IResourceReader^ get ();
}
/** @property */
IResourceReader get_ResourceReader ()
function get ResourceReader () : IResourceReader

プロパティ
現在のリソース プロバイダ関連付けられた IResourceReader。

解説解説
使用例使用例

カスタマイズされたリソース プロバイダ ファクトリがキャッシュされた値を取得するコード例次に示しますリソース プロバイダ ファクトリは、IResourceProvider実装するカスタマイズされたリソース プロバイダインスタンス作成しますリソース プロバイダには、カスタマイズされた ResourceReader プロパティ含まれています。

<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
[
    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; }
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
IResourceProvider インターフェイス
IResourceProvider メンバ
System.Web.Compilation 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「IResourceProvider.ResourceReader プロパティ」の関連用語

IResourceProvider.ResourceReader プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



IResourceProvider.ResourceReader プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS