ResourceManager.GetStream Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne un objet de flux de mémoire non managé à partir d’une ressource spécifiée.
Surcharges
| Nom | Description |
|---|---|
| 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é 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
- 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 MemoryStream objet.
name a la valeur null.
Aucun ensemble utilisable de ressources n’est trouvé et aucune ressource par défaut n’est disponible. Pour plus d’informations sur la gestion de cette exception, consultez la section « Gestion des exceptions MissingManifestResourceException et MissingSatelliteAssemblyException » dans la rubrique de classe ResourceManager .
Les ressources de la culture par défaut résident dans un assembly satellite introuvable. Pour plus d’informations sur la gestion de cette exception, consultez la section « Gestion des exceptions MissingManifestResourceException et MissingSatelliteAssemblyException » dans la rubrique de classe ResourceManager .
Exemples
L’exemple suivant utilise la GetStream(String) méthode pour récupérer une bitmap utilisée dans la fenêtre de démarrage ouvrante 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 ce cas, l’image est chargée à partir d’un fichier nommé SplashScreen.jpg; vous pouvez modifier le nom de fichier pour remplacer votre propre 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 batch suivant pour générer l’exemple C#. Pour Visual Basic, changez csc en vbc, et changez l'extension du fichier de code source de .cs à .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. Vous devez travailler directement avec un flux d’octets, que vous convertissez ensuite en objet. Cette méthode est utile principalement 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 de l’interface utilisateur du thread actuel, définie par la propriété CultureInfo.CurrentUICulture. 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 se rabat 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 exception MissingManifestResourceException ou, si le jeu de ressources est censé résider dans un assembly satellite, une exception MissingSatelliteAssemblyException. Si le gestionnaire de ressources peut charger un jeu de ressources approprié, mais qu’il ne trouve pas de ressource nommée name, la méthode retourne null.
La propriété IgnoreCase détermine si la comparaison de name avec les noms de ressources est insensible à la casse (valeur par défaut) ou non.
S’applique à
GetStream(String, CultureInfo)
- Source:
- ResourceManager.cs
- Source:
- ResourceManager.cs
- 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é 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 ressources. Si culture c’est nullle cas, 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 MemoryStream objet.
name a la valeur null.
Aucun ensemble utilisable de ressources n’est trouvé et aucune ressource par défaut n’est disponible. Pour plus d’informations sur la gestion de cette exception, consultez la section « Gestion des exceptions MissingManifestResourceException et MissingSatelliteAssemblyException » dans la rubrique de classe ResourceManager .
Les ressources de la culture par défaut résident dans un assembly satellite introuvable. Pour plus d’informations sur la gestion de cette exception, consultez la section « Gestion des exceptions MissingManifestResourceException et MissingSatelliteAssemblyException » dans la rubrique de 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. Vous devez travailler directement avec un flux d’octets, que vous convertissez ensuite en objet. Cette méthode est utile principalement 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 elle 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 se rabat 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 exception MissingManifestResourceException ou, si le jeu de ressources est censé résider dans un assembly satellite, une exception MissingSatelliteAssemblyException. Si le gestionnaire de ressources peut charger un jeu de ressources approprié, mais qu’il ne trouve pas de ressource nommée name, la méthode retourne null.
La propriété IgnoreCase détermine si la comparaison de name avec les noms de ressources est insensible à la casse (valeur par défaut) ou non.