ResourceManager.GetStream Metodo

Definizione

Restituisce un oggetto di flusso di memoria non gestito da una risorsa specificata.Returns an unmanaged memory stream object from a specified resource.

Overload

GetStream(String)

Restituisce un oggetto di flusso di memoria non gestito dalla risorsa specificata.Returns an unmanaged memory stream object from the specified resource.

GetStream(String, CultureInfo)

Restituisce un oggetto flusso di memoria non gestito dalla risorsa specificata usando le impostazioni cultura specificate.Returns an unmanaged memory stream object from the specified resource, using the specified culture.

GetStream(String)

Importante

Questa API non è conforme a CLS.

Restituisce un oggetto di flusso di memoria non gestito dalla risorsa specificata.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

Parametri

name
String

Nome di una risorsa.The name of a resource.

Restituisce

Oggetto non gestito del flusso di memoria che rappresenta una risorsa.An unmanaged memory stream object that represents a resource.

Attributi

Eccezioni

Il valore della risorsa specificata non è un oggetto MemoryStream.The value of the specified resource is not a MemoryStream object.

name è null.name is null.

Non sono stati individuati set di risorse utilizzabili e non esistono risorse predefinite.No usable set of resources is found, and there are no default resources. Per informazioni su come gestire questa eccezione, vedere la sezione sulla gestione di MissingSatelliteAssemblyException e MissingManifestResourceException nell'argomento relativo alla classe ResourceManager.For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the ResourceManager class topic.

Le risorse delle impostazioni cultura predefinite si trovano in un assembly satellite che non è stato trovato.The default culture's resources reside in a satellite assembly that could not be found. Per informazioni su come gestire questa eccezione, vedere la sezione sulla gestione di MissingSatelliteAssemblyException e MissingManifestResourceException nell'argomento relativo alla classe ResourceManager.For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the ResourceManager class topic.

Esempi

Nell'esempio seguente viene usato il metodo GetStream(String) per recuperare una bitmap visualizzata nella finestra iniziale di apertura di un'app.The following example uses the GetStream(String) method to retrieve a bitmap that is used in an app's opening splash window. Il codice sorgente seguente da un file denominato CreateResources.cs (per C#) o CreateResources. vb (per Visual Basic) genera un file. resx denominato AppResources. resx che contiene l'immagine serializzata.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. In questo caso, l'immagine viene caricata da un file denominato SplashScreen.jpg. È possibile modificare il nome per sostituire il file con un'immagine personalizzata.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

Il codice seguente da un file denominato GetStream.cs (per C#) o GetStream. vb (per Visual Basic) recupera quindi la risorsa e visualizza l'immagine in un System.Windows.Forms.PictureBox controllo.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

È possibile usare il file batch seguente per compilare l'esempio in C#.You can use the following batch file to build the C# example. Per Visual Basic, sostituire csc con vbce modificare l'estensione del file del codice sorgente da .cs a .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  
  

Commenti

Il GetStream metodo accetta il nome di una risorsa archiviata MemoryStream come oggetto, Object ottiene il valore della risorsa e restituisce un UnmanagedMemoryStream oggetto.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. È necessario usare direttamente un flusso di byte, che viene quindi convertito in un oggetto.It requires that you work directly with a stream of bytes, which you then convert to an object. Questo metodo è utile principalmente per motivi di prestazioni: Il recupero di una risorsa come flusso di byte anziché come oggetto esplicito può migliorare le prestazioni.This method is useful primarily for performance reasons: Retrieving a resource as a byte stream instead of an explicit object can improve performance.

La risorsa restituita è localizzata per le impostazioni cultura dell'interfaccia utente del thread corrente, definito CultureInfo.CurrentUICulture dalla proprietà.The returned resource is localized for the UI culture of the current thread, which is defined by the CultureInfo.CurrentUICulture property. Se la risorsa non è localizzata per le impostazioni cultura, Resource Manager usa le regole di fallback per caricare una risorsa appropriata.If the resource is not localized for that culture, the resource manager uses fallback rules to load an appropriate resource. Se non viene trovato alcun set utilizzabile di risorse localizzate, viene eseguito il ResourceManager fallback sulle risorse delle impostazioni cultura predefinite.If no usable set of localized resources is found, the ResourceManager falls back on the default culture's resources. Se non viene trovato un set di risorse per le impostazioni cultura predefinite, il metodo MissingManifestResourceException genera un'eccezione o, se il set di risorse deve risiedere in un assembly satellite MissingSatelliteAssemblyException , un'eccezione.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 il gestore di risorse può caricare un set di risorse appropriato ma non è in namegrado di trovare una nullrisorsa denominata, il metodo restituisce.If the resource manager can load an appropriate resource set but cannot find a resource named name, the method returns null.

La IgnoreCase proprietà determina se il confronto tra name con i nomi delle risorse non fa distinzione tra maiuscole e minuscole (impostazione predefinita) o con distinzione tra maiuscole e minuscole.The IgnoreCase property determines whether the comparison of name with the names of resources is case-insensitive (the default) or case-sensitive.

Sicurezza

ReflectionPermission
Quando viene richiamato ad associazione tardiva tramite InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])meccanismi come.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Enumerazione associata: MemberAccess.Associated enumeration: MemberAccess.

GetStream(String, CultureInfo)

Importante

Questa API non è conforme a CLS.

Restituisce un oggetto flusso di memoria non gestito dalla risorsa specificata usando le impostazioni cultura specificate.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

Parametri

name
String

Nome di una risorsa.The name of a resource.

culture
CultureInfo

Oggetto che specifica le impostazioni cultura da usare per la ricerca della risorsa.An object that specifies the culture to use for the resource lookup. Se culture è null, verranno usate le impostazioni cultura del thread corrente.If culture is null, the culture for the current thread is used.

Restituisce

Oggetto non gestito del flusso di memoria che rappresenta una risorsa.An unmanaged memory stream object that represents a resource.

Attributi

Eccezioni

Il valore della risorsa specificata non è un oggetto MemoryStream.The value of the specified resource is not a MemoryStream object.

name è null.name is null.

Non sono stati individuati set di risorse utilizzabili e non esistono risorse predefinite.No usable set of resources is found, and there are no default resources. Per informazioni su come gestire questa eccezione, vedere la sezione sulla gestione di MissingSatelliteAssemblyException e MissingManifestResourceException nell'argomento relativo alla classe ResourceManager.For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the ResourceManager class topic.

Le risorse delle impostazioni cultura predefinite si trovano in un assembly satellite che non è stato trovato.The default culture's resources reside in a satellite assembly that could not be found. Per informazioni su come gestire questa eccezione, vedere la sezione sulla gestione di MissingSatelliteAssemblyException e MissingManifestResourceException nell'argomento relativo alla classe ResourceManager.For information about how to handle this exception, see the "Handling MissingManifestResourceException and MissingSatelliteAssemblyException Exceptions" section in the ResourceManager class topic.

Commenti

Il GetStream metodo accetta il nome di una risorsa archiviata MemoryStream come oggetto, Object ottiene il valore della risorsa e restituisce un UnmanagedMemoryStream oggetto.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. È necessario usare direttamente un flusso di byte, che viene quindi convertito in un oggetto.It requires that you work directly with a stream of bytes, which you then convert to an object. Questo metodo è utile principalmente per motivi di prestazioni: Il recupero di una risorsa come flusso di byte anziché come oggetto esplicito può migliorare le prestazioni.This method is useful primarily for performance reasons: Retrieving a resource as a byte stream instead of an explicit object can improve performance.

La risorsa restituita è localizzata per le impostazioni cultura specificate cultureda o per le impostazioni cultura specificate CultureInfo.CurrentUICulture dalla proprietà se culture è 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 la risorsa non è localizzata per le impostazioni cultura, Resource Manager usa le regole di fallback per caricare una risorsa appropriata.If the resource is not localized for that culture, the resource manager uses fallback rules to load an appropriate resource. Se non viene trovato alcun set utilizzabile di risorse localizzate, viene eseguito il ResourceManager fallback sulle risorse delle impostazioni cultura predefinite.If no usable set of localized resources is found, the ResourceManager falls back on the default culture's resources. Se non viene trovato un set di risorse per le impostazioni cultura predefinite, il metodo MissingManifestResourceException genera un'eccezione o, se il set di risorse deve risiedere in un assembly satellite MissingSatelliteAssemblyException , un'eccezione.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 il gestore di risorse può caricare un set di risorse appropriato ma non è in namegrado di trovare una nullrisorsa denominata, il metodo restituisce.If the resource manager can load an appropriate resource set but cannot find a resource named name, the method returns null.

La IgnoreCase proprietà determina se il confronto tra name con i nomi delle risorse non fa distinzione tra maiuscole e minuscole (impostazione predefinita) o con distinzione tra maiuscole e minuscole.The IgnoreCase property determines whether the comparison of name with the names of resources is case-insensitive (the default) or case-sensitive.

Sicurezza

ReflectionPermission
Quando viene richiamato ad associazione tardiva tramite InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])meccanismi come.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Enumerazione associata: MemberAccess.Associated enumeration: MemberAccess.

Si applica a