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

Definição

Retorna um objeto de fluxo de memória não gerenciado de um recurso especificado.Returns an unmanaged memory stream object from a specified resource.

Sobrecargas

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

Retorna um objeto de fluxo de memória não gerenciada do recurso especificado.Returns an unmanaged memory stream object from the specified resource.

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

Retorna um objeto de fluxo de memória não gerenciada do recurso especificado, usando a cultura especificada.Returns an unmanaged memory stream object from the specified resource, using the specified culture.

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

Importante

Esta API não está em conformidade com CLS.

Retorna um objeto de fluxo de memória não gerenciada do recurso especificado.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

Parâmetros

name
String String String String

O nome de um recurso.The name of a resource.

Retornos

Um objeto de fluxo de memória não gerenciada que representa um recurso.An unmanaged memory stream object that represents a resource.

Exceções

O valor do recurso especificado não é um objeto MemoryStream.The value of the specified resource is not a MemoryStream object.

Não foi encontrado nenhum conjunto de recursos utilizável e não existem recursos padrão.No usable set of resources is found, and there are no default resources. Para obter informações sobre como lidar com essa exceção, consulte a seção "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" (Tratando as exceções MissingManifestResourceException e MissingSatelliteAssemblyException) no tópico sobre a classe ResourceManager.For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the ResourceManager class topic.

Os recursos da cultura padrão residem em um assembly satélite que não pôde ser encontrado.The default culture's resources reside in a satellite assembly that could not be found. Para obter informações sobre como lidar com essa exceção, consulte a seção "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" (Tratando as exceções MissingManifestResourceException e MissingSatelliteAssemblyException) no tópico sobre a classe ResourceManager.For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the ResourceManager class topic.

Exemplos

O exemplo a seguir usa o método GetStream(String) para recuperar um bitmap que é usado em uma janela inicial de abertura do aplicativo.The following example uses the GetStream(String) method to retrieve a bitmap that is used in an app's opening splash window. O código-fonte a seguir de um arquivo chamado CreateResources.cs C#(for) ou createresources. vb (para Visual Basic) gera um arquivo. resx chamado AppResources. resx que contém a imagem serializada.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. Nesse caso, a imagem é carregada a partir de um arquivo chamado SplashScreen.jpg; você pode modificar o nome do arquivo para substituir sua própria imagem.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

O código a seguir de um arquivo chamado GetStream.cs ( C#for) ou GetStream. vb (por Visual Basic), em seguida, recupera o recurso e exibe System.Windows.Forms.PictureBox a imagem em um controle.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

Você pode usar o seguinte arquivo em lotes para criar o exemplo de C#.You can use the following batch file to build the C# example. Para o Visual Basic, altere csc para vbc e altere a extensão do arquivo de código-fonte de .cs para .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  

Comentários

O GetStream método usa o nome de um recurso que é armazenado como um MemoryStream objeto, Object Obtém o valor do recurso e retorna um UnmanagedMemoryStream objeto.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. Ele requer que você trabalhe diretamente com um fluxo de bytes, que você converte em um objeto.It requires that you work directly with a stream of bytes, which you then convert to an object. Esse método é útil principalmente por motivos de desempenho: Recuperar um recurso como um fluxo de bytes em vez de um objeto explícito pode melhorar o desempenho.This method is useful primarily for performance reasons: Retrieving a resource as a byte stream instead of an explicit object can improve performance.

O recurso retornado é localizado para a cultura da interface do usuário do thread atual, que é definido CultureInfo.CurrentUICulture pela propriedade.The returned resource is localized for the UI culture of the current thread, which is defined by the CultureInfo.CurrentUICulture property. Se o recurso não for localizado para essa cultura, o Gerenciador de recursos usará regras de fallback para carregar um recurso apropriado.If the resource is not localized for that culture, the resource manager uses fallback rules to load an appropriate resource. Se nenhum conjunto utilizável de recursos localizados for encontrado, o ResourceManager retornará aos recursos da cultura padrão.If no usable set of localized resources is found, the ResourceManager falls back on the default culture's resources. Se um conjunto de recursos para a cultura padrão não for encontrado, o método lançará uma MissingManifestResourceException exceção ou, se o conjunto de recursos for esperado para residir em um assembly satélite, uma MissingSatelliteAssemblyException exceção.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. Se o Gerenciador de recursos puder carregar um conjunto de recursos apropriado, mas não puder nameencontrar um recurso chamado null, o método retornará.If the resource manager can load an appropriate resource set but cannot find a resource named name, the method returns null.

A IgnoreCase propriedade determina se a comparação de name com os nomes de recursos não diferencia maiúsculas de minúsculas (o padrão) ou diferencia maiúsculas de minúsculas.The IgnoreCase property determines whether the comparison of name with the names of resources is case-insensitive (the default) or case-sensitive.

Segurança

ReflectionPermission
quando invocado com associação tardia por meio de mecanismos como 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[]). Enumeração associada: MemberAccess.Associated enumeration: MemberAccess.

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

Importante

Esta API não está em conformidade com CLS.

Retorna um objeto de fluxo de memória não gerenciada do recurso especificado, usando a cultura especificada.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

Parâmetros

name
String String String String

O nome de um recurso.The name of a resource.

culture
CultureInfo CultureInfo CultureInfo CultureInfo

Um objeto que especifica a cultura a ser usada para a pesquisa de recursos.An object that specifies the culture to use for the resource lookup. Se culture for null, a cultura do thread atual será usada.If culture is null, the culture for the current thread is used.

Retornos

Um objeto de fluxo de memória não gerenciada que representa um recurso.An unmanaged memory stream object that represents a resource.

Exceções

O valor do recurso especificado não é um objeto MemoryStream.The value of the specified resource is not a MemoryStream object.

Não foi encontrado nenhum conjunto de recursos utilizável e não existem recursos padrão.No usable set of resources is found, and there are no default resources. Para obter informações sobre como lidar com essa exceção, consulte a seção "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" (Tratando as exceções MissingManifestResourceException e MissingSatelliteAssemblyException) no tópico sobre a classe ResourceManager.For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the ResourceManager class topic.

Os recursos da cultura padrão residem em um assembly satélite que não pôde ser encontrado.The default culture's resources reside in a satellite assembly that could not be found. Para obter informações sobre como lidar com essa exceção, consulte a seção "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" (Tratando as exceções MissingManifestResourceException e MissingSatelliteAssemblyException) no tópico sobre a classe ResourceManager.For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the ResourceManager class topic.

Comentários

O GetStream método usa o nome de um recurso que é armazenado como um MemoryStream objeto, Object Obtém o valor do recurso e retorna um UnmanagedMemoryStream objeto.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. Ele requer que você trabalhe diretamente com um fluxo de bytes, que você converte em um objeto.It requires that you work directly with a stream of bytes, which you then convert to an object. Esse método é útil principalmente por motivos de desempenho: Recuperar um recurso como um fluxo de bytes em vez de um objeto explícito pode melhorar o desempenho.This method is useful primarily for performance reasons: Retrieving a resource as a byte stream instead of an explicit object can improve performance.

O recurso retornado é localizado para culturea cultura especificada por, ou para a cultura especificada CultureInfo.CurrentUICulture pela propriedade se culture for null.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. Se o recurso não for localizado para essa cultura, o Gerenciador de recursos usará regras de fallback para carregar um recurso apropriado.If the resource is not localized for that culture, the resource manager uses fallback rules to load an appropriate resource. Se nenhum conjunto utilizável de recursos localizados for encontrado, o ResourceManager retornará aos recursos da cultura padrão.If no usable set of localized resources is found, the ResourceManager falls back on the default culture's resources. Se um conjunto de recursos para a cultura padrão não for encontrado, o método lançará uma MissingManifestResourceException exceção ou, se o conjunto de recursos for esperado para residir em um assembly satélite, uma MissingSatelliteAssemblyException exceção.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. Se o Gerenciador de recursos puder carregar um conjunto de recursos apropriado, mas não puder nameencontrar um recurso chamado null, o método retornará.If the resource manager can load an appropriate resource set but cannot find a resource named name, the method returns null.

A IgnoreCase propriedade determina se a comparação de name com os nomes de recursos não diferencia maiúsculas de minúsculas (o padrão) ou diferencia maiúsculas de minúsculas.The IgnoreCase property determines whether the comparison of name with the names of resources is case-insensitive (the default) or case-sensitive.

Segurança

ReflectionPermission
quando invocado com associação tardia por meio de mecanismos como 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[]). Enumeração associada: MemberAccess.Associated enumeration: MemberAccess.

Aplica-se a