ResourceManager.GetStream Méthode
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.
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. |
- 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 à
- 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 à
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :