Partager via


ResourceManager.GetStream Méthode

Définition

Retourne un objet de flux de mémoire non managé à partir d'une ressource spécifiée.

Surcharges

GetStream(String)

Retourne un objet de flux de mémoire non managé à partir de la ressource spécifiée.

GetStream(String, CultureInfo)

Retourne un objet de flux de mémoire non managé à partir de la ressource spécifiée, à l'aide de la culture spécifiée.

GetStream(String)

Source:
ResourceManager.cs
Source:
ResourceManager.cs
Source:
ResourceManager.cs

Important

Cette API n’est pas conforme CLS.

Retourne un objet de flux de mémoire non managé à partir de la ressource spécifiée.

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

Paramètres

name
String

Nom d'une ressource.

Retours

Objet de flux de mémoire non managé qui représente une ressource.

Attributs

Exceptions

La valeur de la ressource spécifiée n'est pas un objet MemoryStream.

name a la valeur null.

Aucun ensemble de ressources pouvant être utilisé n'a été trouvé et il n'existe pas de ressources par défaut. Pour plus d'informations sur la gestion de cette exception, consultez la section « Gestion des exceptions MissingManifestResourceException et MissingSatelliteAssemblyException » dans la rubrique de la classe ResourceManager.

Les ressources de la culture par défaut résident dans un assembly satellite qui est introuvable. Pour plus d'informations sur la gestion de cette exception, consultez la section « Gestion des exceptions MissingManifestResourceException et MissingSatelliteAssemblyException » dans la rubrique de la classe ResourceManager.

Exemples

L’exemple suivant utilise la méthode GetStream(String) pour récupérer une image bitmap qui s’affiche dans la fenêtre de démarrage à l’ouverture d’une application. Le code source suivant à partir d’un fichier nommé CreateResources.cs (pour C#) ou CreateResources.vb (pour Visual Basic) génère un fichier .resx nommé AppResources.resx qui contient l’image sérialisée. Dans cet exemple, l’image est chargée à partir d’un fichier SplashScreen.jpg. Vous pouvez remplacer ce nom de fichier par votre 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

Le code suivant à partir d’un fichier nommé GetStream.cs (pour C#) ou GetStream.vb (pour Visual Basic) récupère ensuite la ressource et affiche l’image dans un System.Windows.Forms.PictureBox contrôle.

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

Vous pouvez utiliser le fichier de commandes suivant pour générer l’exemple C#. Pour Visual Basic, remplacez csc par vbc, et modifiez l’extension du fichier de code source .cs en .vb.

csc CreateResources.cs
CreateResources

resgen AppResources.resx

csc GetStream.cs /resource:AppResources.resources

Remarques

La GetStream méthode prend le nom d’une ressource stockée en tant qu’objet MemoryStream , obtient la valeur de la Object ressource et retourne un UnmanagedMemoryStream objet . Cela nécessite que vous travailliez directement avec un flux d’octets, que vous convertissez ensuite en objet. Cette méthode est principalement utile pour des raisons de performances : la récupération d’une ressource en tant que flux d’octets au lieu d’un objet explicite peut améliorer les performances.

La ressource retournée est localisée pour la culture d’interface utilisateur du thread actuel, qui est définie par la CultureInfo.CurrentUICulture propriété . Si la ressource n’est pas localisée pour cette culture, le gestionnaire de ressources utilise des règles de secours pour charger une ressource appropriée. Si aucun ensemble utilisable de ressources localisées n’est trouvé, le ResourceManager revient sur les ressources de la culture par défaut. Si un jeu de ressources pour la culture par défaut est introuvable, la méthode lève une MissingManifestResourceException exception ou, si le jeu de ressources est censé résider dans un assembly satellite, une MissingSatelliteAssemblyException exception. Si le gestionnaire de ressources peut charger un jeu de ressources approprié mais ne trouve pas de ressource nommée name, la méthode retourne null.

La IgnoreCase propriété détermine si la comparaison de name avec les noms de ressources ne respecte pas la casse (valeur par défaut) ou respecte la casse.

S’applique à

GetStream(String, CultureInfo)

Source:
ResourceManager.cs
Source:
ResourceManager.cs
Source:
ResourceManager.cs

Important

Cette API n’est pas conforme CLS.

Retourne un objet de flux de mémoire non managé à partir de la ressource spécifiée, à l'aide de la culture spécifiée.

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

Paramètres

name
String

Nom d'une ressource.

culture
CultureInfo

Culture à utiliser pour la recherche de ressource. Si culture est null, la culture du thread actuel est utilisée.

Retours

Objet de flux de mémoire non managé qui représente une ressource.

Attributs

Exceptions

La valeur de la ressource spécifiée n'est pas un objet MemoryStream.

name a la valeur null.

Aucun ensemble de ressources pouvant être utilisé n'a été trouvé et il n'existe pas de ressources par défaut. Pour plus d'informations sur la gestion de cette exception, consultez la section « Gestion des exceptions MissingManifestResourceException et MissingSatelliteAssemblyException » dans la rubrique de la classe ResourceManager.

Les ressources de la culture par défaut résident dans un assembly satellite qui est introuvable. Pour plus d'informations sur la gestion de cette exception, consultez la section « Gestion des exceptions MissingManifestResourceException et MissingSatelliteAssemblyException » dans la rubrique de la classe ResourceManager.

Remarques

La GetStream méthode prend le nom d’une ressource stockée en tant qu’objet MemoryStream , obtient la valeur de la Object ressource et retourne un UnmanagedMemoryStream objet . Cela nécessite que vous travailliez directement avec un flux d’octets, que vous convertissez ensuite en objet. Cette méthode est principalement utile pour des raisons de performances : la récupération d’une ressource en tant que flux d’octets au lieu d’un objet explicite peut améliorer les performances.

La ressource retournée est localisée pour la culture spécifiée par culture, ou pour la culture spécifiée par la CultureInfo.CurrentUICulture propriété si culture est null. Si la ressource n’est pas localisée pour cette culture, le gestionnaire de ressources utilise des règles de secours pour charger une ressource appropriée. Si aucun ensemble utilisable de ressources localisées n’est trouvé, le ResourceManager revient sur les ressources de la culture par défaut. Si un jeu de ressources pour la culture par défaut est introuvable, la méthode lève une MissingManifestResourceException exception ou, si le jeu de ressources est censé résider dans un assembly satellite, une MissingSatelliteAssemblyException exception. Si le gestionnaire de ressources peut charger un jeu de ressources approprié mais ne trouve pas de ressource nommée name, la méthode retourne null.

La IgnoreCase propriété détermine si la comparaison de name avec les noms de ressources ne respecte pas la casse (valeur par défaut) ou respecte la casse.

S’applique à