ResourceManager.GetStream Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve un objeto de flujo de memoria no administrado de un recurso especificado.
Sobrecargas
| Nombre | Description |
|---|---|
| GetStream(String) |
Devuelve un objeto de flujo de memoria no administrado del recurso especificado. |
| GetStream(String, CultureInfo) |
Devuelve un objeto de flujo de memoria no administrado del recurso especificado mediante la referencia cultural especificada. |
GetStream(String)
- Source:
- ResourceManager.cs
- Source:
- ResourceManager.cs
- Source:
- ResourceManager.cs
- Source:
- ResourceManager.cs
- Source:
- ResourceManager.cs
Importante
Esta API no es conforme a CLS.
Devuelve un objeto de flujo de memoria no administrado del recurso especificado.
public:
System::IO::UnmanagedMemoryStream ^ GetStream(System::String ^ name);
public System.IO.UnmanagedMemoryStream? GetStream(string name);
public System.IO.UnmanagedMemoryStream GetStream(string name);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(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
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.GetStream : string -> System.IO.UnmanagedMemoryStream
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.GetStream : string -> System.IO.UnmanagedMemoryStream
Public Function GetStream (name As String) As UnmanagedMemoryStream
Parámetros
- name
- String
Nombre de un recurso.
Devoluciones
Objeto de flujo de memoria no administrado que representa un recurso.
- Atributos
Excepciones
El valor del recurso especificado no es un objeto MemoryStream.
name es null.
No se encuentra ningún conjunto utilizable de recursos y no hay ningún recurso predeterminado. Para obtener información sobre cómo controlar esta excepción, vea la sección "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" (Control de las excepciones missingManifestResourceException y MissingSatelliteAssemblyException) en el tema de la clase ResourceManager.
Los recursos de la referencia cultural predeterminada residen en un ensamblado satélite que no se pudo encontrar. Para obtener información sobre cómo controlar esta excepción, vea la sección "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" (Control de las excepciones missingManifestResourceException y MissingSatelliteAssemblyException) en el tema de la clase ResourceManager.
Ejemplos
En el ejemplo siguiente se usa el método GetStream(String) para recuperar un mapa de bits que se usa en la ventana de presentación de apertura de una aplicación. El siguiente código fuente de un archivo denominado CreateResources.cs (para C#) o CreateResources.vb (para Visual Basic) genera un archivo .resx denominado AppResources.resx que contiene la imagen serializada. En este caso, la imagen se carga desde un archivo denominado SplashScreen.jpg; Puede modificar el nombre de archivo para sustituir su propia imagen.
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
El código siguiente de un archivo denominado GetStream.cs (para C#) o GetStream.vb (para Visual Basic) recupera el recurso y muestra la imagen en un control System.Windows.Forms.PictureBox.
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
Puede usar el siguiente archivo por lotes para compilar el ejemplo de C#. Para Visual Basic, cambie csc a vbcy cambie la extensión del archivo de código fuente de .cs a .vb.
csc CreateResources.cs
CreateResources
resgen AppResources.resx
csc GetStream.cs /resource:AppResources.resources
Comentarios
El método GetStream toma el nombre de un recurso que se almacena como un objeto MemoryStream, obtiene el valor del recurso Object y devuelve un objeto UnmanagedMemoryStream. Requiere que trabaje directamente con un flujo de bytes, que después se convierte en un objeto . Este método es útil principalmente por motivos de rendimiento: recuperar un recurso como un flujo de bytes en lugar de un objeto explícito puede mejorar el rendimiento.
El recurso devuelto se localiza para la referencia cultural de la interfaz de usuario del subproceso actual, que se define mediante la propiedad CultureInfo.CurrentUICulture. Si el recurso no está localizado para esa referencia cultural, el administrador de recursos usa reglas de reserva para cargar un recurso adecuado. Si no se encuentra ningún conjunto utilizable de recursos localizados, el ResourceManager retroceda en los recursos de la referencia cultural predeterminada. Si no se encuentra un conjunto de recursos para la referencia cultural predeterminada, el método produce una excepción de MissingManifestResourceException o, si se espera que el conjunto de recursos resida en un ensamblado satélite, una excepción de MissingSatelliteAssemblyException. Si el administrador de recursos puede cargar un conjunto de recursos adecuado, pero no encuentra un recurso denominado name, el método devuelve null.
La propiedad IgnoreCase determina si la comparación de name con los nombres de los recursos no distingue mayúsculas de minúsculas (valor predeterminado) o distingue mayúsculas de minúsculas.
Se aplica a
GetStream(String, CultureInfo)
- Source:
- ResourceManager.cs
- Source:
- ResourceManager.cs
- Source:
- ResourceManager.cs
- Source:
- ResourceManager.cs
- Source:
- ResourceManager.cs
Importante
Esta API no es conforme a CLS.
Devuelve un objeto de flujo de memoria no administrado del recurso especificado mediante la referencia cultural especificada.
public:
System::IO::UnmanagedMemoryStream ^ GetStream(System::String ^ name, System::Globalization::CultureInfo ^ culture);
public System.IO.UnmanagedMemoryStream? GetStream(string name, System.Globalization.CultureInfo? culture);
public System.IO.UnmanagedMemoryStream GetStream(string name, System.Globalization.CultureInfo culture);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(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
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.GetStream : string * System.Globalization.CultureInfo -> System.IO.UnmanagedMemoryStream
[<System.Runtime.InteropServices.ComVisible(false)>]
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
Nombre de un recurso.
- culture
- CultureInfo
Referencia cultural que se va a usar para la búsqueda de recursos. Si culture es null, se usa la referencia cultural del subproceso actual.
Devoluciones
Objeto de flujo de memoria no administrado que representa un recurso.
- Atributos
Excepciones
El valor del recurso especificado no es un objeto MemoryStream.
name es null.
No se encuentra ningún conjunto utilizable de recursos y no hay ningún recurso predeterminado. Para obtener información sobre cómo controlar esta excepción, vea la sección "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" (Control de las excepciones missingManifestResourceException y MissingSatelliteAssemblyException) en el tema de la clase ResourceManager.
Los recursos de la referencia cultural predeterminada residen en un ensamblado satélite que no se pudo encontrar. Para obtener información sobre cómo controlar esta excepción, vea la sección "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" (Control de las excepciones missingManifestResourceException y MissingSatelliteAssemblyException) en el tema de la clase ResourceManager.
Comentarios
El método GetStream toma el nombre de un recurso que se almacena como un objeto MemoryStream, obtiene el valor del recurso Object y devuelve un objeto UnmanagedMemoryStream. Requiere que trabaje directamente con un flujo de bytes, que después se convierte en un objeto . Este método es útil principalmente por motivos de rendimiento: recuperar un recurso como un flujo de bytes en lugar de un objeto explícito puede mejorar el rendimiento.
El recurso devuelto se localiza para la referencia cultural especificada por culture, o para la referencia cultural especificada por la propiedad CultureInfo.CurrentUICulture si culture es null. Si el recurso no está localizado para esa referencia cultural, el administrador de recursos usa reglas de reserva para cargar un recurso adecuado. Si no se encuentra ningún conjunto utilizable de recursos localizados, el ResourceManager retroceda en los recursos de la referencia cultural predeterminada. Si no se encuentra un conjunto de recursos para la referencia cultural predeterminada, el método produce una excepción de MissingManifestResourceException o, si se espera que el conjunto de recursos resida en un ensamblado satélite, una excepción de MissingSatelliteAssemblyException. Si el administrador de recursos puede cargar un conjunto de recursos adecuado, pero no encuentra un recurso denominado name, el método devuelve null.
La propiedad IgnoreCase determina si la comparación de name con los nombres de los recursos no distingue mayúsculas de minúsculas (valor predeterminado) o distingue mayúsculas de minúsculas.