IResourceProvider.GetObject メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > IResourceProvider.GetObject メソッドの意味・解説 

IResourceProvider.GetObject メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

キーおよびカルチャのリソース オブジェクト返します

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

Function GetObject ( _
    resourceKey As String, _
    culture As CultureInfo _
) As Object
Dim instance As IResourceProvider
Dim resourceKey As String
Dim culture As CultureInfo
Dim returnValue As Object

returnValue = instance.GetObject(resourceKey, culture)
Object GetObject (
    string resourceKey,
    CultureInfo culture
)
Object^ GetObject (
    String^ resourceKey, 
    CultureInfo^ culture
)
Object GetObject (
    String resourceKey, 
    CultureInfo culture
)
function GetObject (
    resourceKey : String, 
    culture : CultureInfo
) : Object

パラメータ

resourceKey

特定のリソースを示すキー

culture

リソースローカライズされた値を示すカルチャ。

戻り値
resourceKey および cultureリソース値を格納している Object

解説解説

実装されると、GetObject メソッド現在のカルチャに基づいてリソース キーローカライズされた値を返しますculture パラメータの値が渡されなかった場合実装クラスは CurrentUICulture プロパティ取得できます

使用例使用例

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

<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 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からIResourceProvider.GetObject メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からIResourceProvider.GetObject メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からIResourceProvider.GetObject メソッドを検索

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

辞書ショートカット

すべての辞書の索引

「IResourceProvider.GetObject メソッド」の関連用語

IResourceProvider.GetObject メソッドのお隣キーワード
検索ランキング

   

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



IResourceProvider.GetObject メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS