ResourceManager.GetStream 메서드

정의

관리되지 않는 메모리 스트림 개체에서 지정된 리소스를 반환합니다.Returns an unmanaged memory stream object from a specified resource.

오버로드

GetStream(String)

관리되지 않는 메모리 스트림 개체에서 지정된 리소스를 반환합니다.Returns an unmanaged memory stream object from the specified resource.

GetStream(String, CultureInfo)

지정된 문화권을 사용하여 지정된 리소스에서 관리되지 않은 메모리 스트림 개체를 반환합니다.Returns an unmanaged memory stream object from the specified resource, using the specified culture.

GetStream(String)

중요

이 API는 CLS 규격이 아닙니다.

관리되지 않는 메모리 스트림 개체에서 지정된 리소스를 반환합니다.Returns an unmanaged memory stream object from the specified resource.

public:
 System::IO::UnmanagedMemoryStream ^ GetStream(System::String ^ name);
public System.IO.UnmanagedMemoryStream GetStream (string name);
[System.Runtime.InteropServices.ComVisible(false)]
[System.CLSCompliant(false)]
public System.IO.UnmanagedMemoryStream GetStream (string name);
[System.Runtime.InteropServices.ComVisible(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

리소스의 이름입니다.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.

namenull입니다.name is null.

사용할 수 있는 리소스 집합을 찾을 수 없으며 기본 리소스가 없는 경우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는 serialize 된 이미지를 포함 하는.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. 리소스가 해당 문화권에 대 한 지역화 되지 않으면, 리소스 관리자는 적절 한 리소스를 로드 하려면 대체 (fallback) 규칙을 사용 합니다.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 예외를 throw 하거나, 리소스 집합이 위성 어셈블리에 있어야 하는 경우 MissingSatelliteAssemblyException 예외를 throw 합니다.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.

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);
public System.IO.UnmanagedMemoryStream GetStream (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);
[System.Runtime.InteropServices.ComVisible(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

리소스의 이름입니다.The name of a resource.

culture
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.

namenull입니다.name is null.

사용할 수 있는 리소스 집합을 찾을 수 없으며 기본 리소스가 없는 경우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로 지정 된 문화권 또는 culture null경우 CultureInfo.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. 리소스가 해당 문화권에 대 한 지역화 되지 않으면, 리소스 관리자는 적절 한 리소스를 로드 하려면 대체 (fallback) 규칙을 사용 합니다.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 예외를 throw 하거나, 리소스 집합이 위성 어셈블리에 있어야 하는 경우 MissingSatelliteAssemblyException 예외를 throw 합니다.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.

적용 대상