ResourceManager.GetString メソッド (String, CultureInfo)
指定されたカルチャ用にローカライズされている String リソースの値を取得します。
Overloads Public Overridable Function GetString( _
ByVal name As String, _ ByVal culture As CultureInfo _) As String
[C#]
public virtual string GetString(stringname,CultureInfoculture);
[C++]
public: virtual String* GetString(String* name,CultureInfo* culture);
[JScript]
public function GetString(
name : String,culture : CultureInfo) : String;
パラメータ
name
取得するリソースの名前。culture
ローカライズ対象リソースのカルチャを表す CultureInfo オブジェクト。リソースがこのカルチャ用にローカライズされていない場合、カルチャの Parent プロパティを使用して代わりとなるカルチャが検索され、ニュートラル カルチャを調べた後で検索が終了します。この値が null 参照 (Visual Basic では Nothing) の場合は、カルチャの CurrentUICulture プロパティを使用して CultureInfo を取得します。
戻り値
指定されたカルチャ用にローカライズされているリソースの値。最適な値を取得できない場合は null 参照 (Visual Basic では Nothing) が返されます。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | name パラメータが null 参照 (Visual Basic では Nothing) です。 |
InvalidOperationException | 指定されたリソースの値が String ではありません。 |
MissingManifestResourceException | 使用できるリソースのセットが見つからず、ニュートラル カルチャ リソースもありません。 |
解説
リソースがそのカルチャ用にローカライズされていない場合は、最も近いカルチャ用にローカライズされたリソースが返されます。この処理には、カルチャの Parent プロパティが使用されます。それ以外の場合は、 null 参照 (Visual Basic では Nothing) が返されます。
使用できるリソースのセットが見つからない場合、 ResourceManager はニュートラル カルチャのリソースを使用します。このリソースは、通常メイン アセンブリにあります。適切なカルチャ リソースが見つからない場合は、 MissingManifestResourceException がスローされます。
メモ GetString メソッドはスレッド セーフです。
使用例
Imports System
Imports System.Globalization
Imports System.Threading
Imports System.Resources
Imports System.Reflection
Class ResourcesExample
Public Shared Sub Main()
' Create a resource manager to retrieve resources.
Dim rm As New ResourceManager("items", _
[Assembly].GetExecutingAssembly())
' Get the culture of the currently executing thread.
' The value of ci will determine the culture of
' the resources that the resource manager retrieves.
Dim ci As CultureInfo = Thread.CurrentThread.CurrentCulture
' Retrieve the value of the string resource named
' "welcome" localized for the culture specified by ci.
Dim str As [String] = rm.GetString("welcome", ci)
Console.WriteLine(str)
End Sub
End Class
[C#]
using System;
using System.Globalization;
using System.Threading;
using System.Resources;
using System.Reflection;
class ResourcesExample
{
public static void Main()
{
// Create a resource manager to retrieve resources.
ResourceManager rm = new ResourceManager("items",
Assembly.GetExecutingAssembly());
// Get the culture of the currently executing thread.
// The value of ci will determine the culture of
// the resources that the resource manager retrieves.
CultureInfo ci = Thread.CurrentThread.CurrentCulture;
// Retrieve the value of the string resource named
// "welcome", localized for the culture specified by ci.
String str = rm.GetString("welcome", ci);
Console.WriteLine(str);
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Globalization;
using namespace System::Threading;
using namespace System::Resources;
using namespace System::Reflection;
int main() {
// Create a resource manager to retrieve resources.
ResourceManager* rm = new ResourceManager(S"items",
Assembly::GetExecutingAssembly());
// Get the culture of the currently executing thread.
// The value of ci will determine the culture of
// the resources that the resource manager retrieves.
CultureInfo* ci = Thread::CurrentThread->CurrentCulture;
// Retrieve the value of the string resource named
// S"welcome", localized for the culture specified by ci.
String* str = rm->GetString(S"welcome", ci);
Console::WriteLine(str);
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
.NET Framework セキュリティ:
- ReflectionPermission (Type.InvokeMember などの機構を通じて遅延バインディングで呼び出すときに必要なアクセス許可) ReflectionPermissionFlag.MemberAccess (関連する列挙体)
参照
ResourceManager クラス | ResourceManager メンバ | System.Resources 名前空間 | ResourceManager.GetString オーバーロードの一覧 | CultureInfo | 国際対応アプリケーションの開発