ResourceManager.GetStream ResourceManager.GetStream ResourceManager.GetStream ResourceManager.GetStream Method

定義

指定したリソースからアンマネージ メモリ ストリーム オブジェクトを返します。Returns an unmanaged memory stream object from a specified resource.

オーバーロード

GetStream(String) GetStream(String) GetStream(String) GetStream(String)

指定したリソースからアンマネージ メモリ ストリーム オブジェクトを返します。Returns an unmanaged memory stream object from the specified resource.

GetStream(String, CultureInfo) GetStream(String, CultureInfo) GetStream(String, CultureInfo) GetStream(String, CultureInfo)

指定したカルチャを使用し、指定したリソースからアンマネージ メモリ ストリーム オブジェクトを返します。Returns an unmanaged memory stream object from the specified resource, using the specified culture.

GetStream(String) GetStream(String) GetStream(String) GetStream(String)

重要

この API は CLS 準拠ではありません。

指定したリソースからアンマネージ メモリ ストリーム オブジェクトを返します。Returns an unmanaged memory stream object from the specified resource.

public:
 System::IO::UnmanagedMemoryStream ^ GetStream(System::String ^ name);
[System.Runtime.InteropServices.ComVisible(false)]
[System.CLSCompliant(false)]
public System.IO.UnmanagedMemoryStream GetStream (string name);
member this.GetStream : string -> System.IO.UnmanagedMemoryStream
Public Function GetStream (name As String) As UnmanagedMemoryStream

パラメーター

name
String String String String

リソースの名前。The name of a resource.

戻り値

リソースを表すアンマネージ メモリ ストリーム オブジェクト。An unmanaged memory stream object that represents a resource.

例外

指定されたリソースの値が MemoryStream オブジェクトではありません。The value of the specified resource is not a MemoryStream object.

使用できるリソースのセットが見つからず、既定のリソースもありません。No usable set of resources is found, and there are no default resources. この例外の処理方法の詳細については、ResourceManager クラスのトピックの MissingManifestResourceException 例外と MissingSatelliteAssemblyException 例外の処理に関するセクションを参照してください。For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the ResourceManager class topic.

既定のカルチャのリソースがサテライト アセンブリに存在し、そのサテライト アセンブリが見つかりませんでした。The default culture's resources reside in a satellite assembly that could not be found. この例外の処理方法の詳細については、ResourceManager クラスのトピックの MissingManifestResourceException 例外と MissingSatelliteAssemblyException 例外の処理に関するセクションを参照してください。For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the ResourceManager class topic.

次の例では、 GetStream(String) メソッドを使用して、アプリの開始スプラッシュ ウィンドウで使用されるビットマップを取得します。The following example uses the GetStream(String) method to retrieve a bitmap that is used in an app's opening splash window. CreateResources.cs (のC#場合) または createresources.vb (Visual Basic の場合) という名前のファイルからの次のソースコードでは、シリアル化されたイメージを含む AppResources という名前の .resx ファイルが生成されます。The following source code from a file named CreateResources.cs (for C#) or CreateResources.vb (for Visual Basic) generates a .resx file named AppResources.resx that contains the serialized image. この場合、画像は SplashScreen.jpg という名前のファイルから読み込まれます。ファイル名を変更して、独自の画像に置き換えることができます。In this case, the image is loaded from a file named SplashScreen.jpg; you can modify the file name to substitute your own image.

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Resources;

public class Example
{
   public static void Main()
   {
      Bitmap bmp = new Bitmap(@".\SplashScreen.jpg");
      MemoryStream imageStream = new MemoryStream();
      bmp.Save(imageStream, ImageFormat.Jpeg);
      
      ResXResourceWriter writer = new ResXResourceWriter("AppResources.resx");
      writer.AddResource("SplashScreen", imageStream);
      writer.Generate();
      writer.Close();      
   }
}
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.IO
Imports System.Resources

Module Example
   Public Sub Main()
      Dim bmp As New Bitmap(".\SplashScreen.jpg")
      Dim imageStream As New MemoryStream()
      bmp.Save(imageStream, ImageFormat.Jpeg)
      
      Dim writer As New ResXResourceWriter("AppResources.resx")
      writer.AddResource("SplashScreen", imageStream)
      writer.Generate()
      writer.Close()      
   End Sub
End Module

GetStream.cs (のC#場合) または system.resources.resourcemanager.getstream (Visual Basic の場合) という名前のファイルの次のコードは、リソースを取得し、 System.Windows.Forms.PictureBoxコントロールにイメージを表示します。The following code from a file named GetStream.cs (for C#) or GetStream.vb (for Visual Basic) then retrieves the resource and displays the image in a System.Windows.Forms.PictureBox control.

using System;
using System.Drawing;
using System.IO;
using System.Resources;
using System.Windows.Forms;

public class Example
{
   public static void Main()
   {
      ResourceManager rm = new ResourceManager("AppResources", typeof(Example).Assembly);
      Bitmap screen = (Bitmap) Image.FromStream(rm.GetStream("SplashScreen"));
      
      Form frm = new Form();
      frm.Size = new Size(300, 300);

      PictureBox pic = new PictureBox();
      pic.Bounds = frm.RestoreBounds;
      pic.BorderStyle = BorderStyle.Fixed3D; 
      pic.Image = screen;
      pic.SizeMode = PictureBoxSizeMode.StretchImage;

      frm.Controls.Add(pic);
      pic.Anchor = AnchorStyles.Top | AnchorStyles.Bottom |
                   AnchorStyles.Left | AnchorStyles.Right;

      frm.ShowDialog();
   }
}
Imports System.Drawing
Imports System.IO
Imports System.Resources
Imports System.Windows.Forms

Module Example
   Public Sub Main()
      Dim rm As New ResourceManager("AppResources", GetType(Example).Assembly)
      Dim screen As Bitmap = CType(Image.FromStream(rm.GetStream("SplashScreen")), Bitmap)
      
      Dim frm As New Form()
      frm.Size = new Size(300, 300)

      Dim pic As New PictureBox()
      pic.Bounds = frm.RestoreBounds
      pic.BorderStyle = BorderStyle.Fixed3D 
      pic.Image = screen
      pic.SizeMode = PictureBoxSizeMode.StretchImage

      frm.Controls.Add(pic)
      pic.Anchor = AnchorStyles.Top Or AnchorStyles.Bottom Or
                   AnchorStyles.Left Or AnchorStyles.Right

      frm.ShowDialog()
   End Sub
End Module

次のバッチ ファイルを使用すると、C# の例をビルドできます。You can use the following batch file to build the C# example. Visual Basic の場合は、 cscvbcに変更し、さらにソース コード ファイルの拡張子を .cs から .vbに変更します。For Visual Basic, change csc to vbc, and change the extension of the source code file from .cs to .vb.


csc CreateResources.cs  
CreateResources  

resgen AppResources.resx  

csc GetStream.cs /resource:AppResources.resources  

注釈

メソッドGetStreamは、 MemoryStreamオブジェクトとして格納されているリソースの名前を受け取り、 Objectリソースの値を取得してUnmanagedMemoryStream 、オブジェクトを返します。The GetStream method takes the name of a resource that is stored as a MemoryStream object, gets the value of the Object resource, and returns an UnmanagedMemoryStream object. この場合、バイトのストリームを直接操作してから、オブジェクトに変換する必要があります。It requires that you work directly with a stream of bytes, which you then convert to an object. このメソッドは、主にパフォーマンス上の理由から役立ちます。明示的なオブジェクトではなくバイトストリームとしてリソースを取得すると、パフォーマンスが向上します。This method is useful primarily for performance reasons: Retrieving a resource as a byte stream instead of an explicit object can improve performance.

返されたリソースは、 CultureInfo.CurrentUICultureプロパティによって定義されている現在のスレッドの UI カルチャにローカライズされます。The returned resource is localized for the UI culture of the current thread, which is defined by the CultureInfo.CurrentUICulture property. リソースがそのカルチャ用にローカライズされていない場合、リソースマネージャーはフォールバック規則を使用して適切なリソースを読み込みます。If the resource is not localized for that culture, the resource manager uses fallback rules to load an appropriate resource. ローカライズされたリソースの使用可能なセットがResourceManager見つからない場合、は既定のカルチャのリソースにフォールバックします。If no usable set of localized resources is found, the ResourceManager falls back on the default culture's resources. 既定のカルチャのリソースセットが見つからない場合、メソッドは例外をMissingManifestResourceExceptionスローします。また、リソースセットがサテライトアセンブリMissingSatelliteAssemblyExceptionに存在することが予想される場合は、例外をスローします。If a resource set for the default culture is not found, the method throws a MissingManifestResourceException exception or, if the resource set is expected to reside in a satellite assembly, a MissingSatelliteAssemblyException exception. リソースマネージャーが適切なリソースセットを読み込むことができても、とnameいう名前のリソースnullが見つからない場合、メソッドはを返します。If the resource manager can load an appropriate resource set but cannot find a resource named name, the method returns null.

プロパティIgnoreCaseは、リソース名とのname比較で大文字と小文字を区別しないか (既定値)、大文字と小文字を区別するかどうかを決定します。The IgnoreCase property determines whether the comparison of name with the names of resources is case-insensitive (the default) or case-sensitive.

セキュリティ

ReflectionPermission
などの機構をInvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])使用して遅延バインディングが呼び出された場合。when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). MemberAccess (関連する列挙体)Associated enumeration: MemberAccess.

GetStream(String, CultureInfo) GetStream(String, CultureInfo) GetStream(String, CultureInfo) GetStream(String, CultureInfo)

重要

この API は CLS 準拠ではありません。

指定したカルチャを使用し、指定したリソースからアンマネージ メモリ ストリーム オブジェクトを返します。Returns an unmanaged memory stream object from the specified resource, using the specified culture.

public:
 System::IO::UnmanagedMemoryStream ^ GetStream(System::String ^ name, System::Globalization::CultureInfo ^ culture);
[System.Runtime.InteropServices.ComVisible(false)]
[System.CLSCompliant(false)]
public System.IO.UnmanagedMemoryStream GetStream (string name, System.Globalization.CultureInfo culture);
member this.GetStream : string * System.Globalization.CultureInfo -> System.IO.UnmanagedMemoryStream
Public Function GetStream (name As String, culture As CultureInfo) As UnmanagedMemoryStream

パラメーター

name
String String String String

リソースの名前。The name of a resource.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

リソース検索に使用するカルチャを指定するオブジェクト。An object that specifies the culture to use for the resource lookup. culturenull の場合は、現在のスレッドのカルチャが使用されます。If culture is null, the culture for the current thread is used.

戻り値

リソースを表すアンマネージ メモリ ストリーム オブジェクト。An unmanaged memory stream object that represents a resource.

例外

指定されたリソースの値が MemoryStream オブジェクトではありません。The value of the specified resource is not a MemoryStream object.

使用できるリソースのセットが見つからず、既定のリソースもありません。No usable set of resources is found, and there are no default resources. この例外の処理方法の詳細については、ResourceManager クラスのトピックの MissingManifestResourceException 例外と MissingSatelliteAssemblyException 例外の処理に関するセクションを参照してください。For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the ResourceManager class topic.

既定のカルチャのリソースがサテライト アセンブリに存在し、そのサテライト アセンブリが見つかりませんでした。The default culture's resources reside in a satellite assembly that could not be found. この例外の処理方法の詳細については、ResourceManager クラスのトピックの MissingManifestResourceException 例外と MissingSatelliteAssemblyException 例外の処理に関するセクションを参照してください。For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the ResourceManager class topic.

注釈

メソッドGetStreamは、 MemoryStreamオブジェクトとして格納されているリソースの名前を受け取り、 Objectリソースの値を取得してUnmanagedMemoryStream 、オブジェクトを返します。The GetStream method takes the name of a resource that is stored as a MemoryStream object, gets the value of the Object resource, and returns an UnmanagedMemoryStream object. この場合、バイトのストリームを直接操作してから、オブジェクトに変換する必要があります。It requires that you work directly with a stream of bytes, which you then convert to an object. このメソッドは、主にパフォーマンス上の理由から役立ちます。明示的なオブジェクトではなくバイトストリームとしてリソースを取得すると、パフォーマンスが向上します。This method is useful primarily for performance reasons: Retrieving a resource as a byte stream instead of an explicit object can improve performance.

返されるリソースは、にcultureよって指定されるカルチャ、またはがnullの場合cultureCultureInfo.CurrentUICultureプロパティで指定されるカルチャにローカライズされます。The returned resource is localized for the culture that is specified by culture, or for the culture that is specified by the CultureInfo.CurrentUICulture property if culture is null. リソースがそのカルチャ用にローカライズされていない場合、リソースマネージャーはフォールバック規則を使用して適切なリソースを読み込みます。If the resource is not localized for that culture, the resource manager uses fallback rules to load an appropriate resource. ローカライズされたリソースの使用可能なセットがResourceManager見つからない場合、は既定のカルチャのリソースにフォールバックします。If no usable set of localized resources is found, the ResourceManager falls back on the default culture's resources. 既定のカルチャのリソースセットが見つからない場合、メソッドは例外をMissingManifestResourceExceptionスローします。また、リソースセットがサテライトアセンブリMissingSatelliteAssemblyExceptionに存在することが予想される場合は、例外をスローします。If a resource set for the default culture is not found, the method throws a MissingManifestResourceException exception or, if the resource set is expected to reside in a satellite assembly, a MissingSatelliteAssemblyException exception. リソースマネージャーが適切なリソースセットを読み込むことができても、とnameいう名前のリソースnullが見つからない場合、メソッドはを返します。If the resource manager can load an appropriate resource set but cannot find a resource named name, the method returns null.

プロパティIgnoreCaseは、リソース名とのname比較で大文字と小文字を区別しないか (既定値)、大文字と小文字を区別するかどうかを決定します。The IgnoreCase property determines whether the comparison of name with the names of resources is case-insensitive (the default) or case-sensitive.

セキュリティ

ReflectionPermission
などの機構をInvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])使用して遅延バインディングが呼び出された場合。when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). MemberAccess (関連する列挙体)Associated enumeration: MemberAccess.

適用対象