ResourceManager.GetStream Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan objek aliran memori yang tidak dikelola dari sumber daya tertentu.
Overload
GetStream(String) |
Mengembalikan objek aliran memori yang tidak dikelola dari sumber daya yang ditentukan. |
GetStream(String, CultureInfo) |
Mengembalikan objek aliran memori yang tidak dikelola dari sumber daya yang ditentukan, menggunakan budaya yang ditentukan. |
GetStream(String)
- Sumber:
- ResourceManager.cs
- Sumber:
- ResourceManager.cs
- Sumber:
- ResourceManager.cs
Penting
API ini bukan kompatibel CLS.
Mengembalikan objek aliran memori yang tidak dikelola dari sumber daya yang ditentukan.
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
Parameter
- name
- String
Nama sumber daya.
Mengembalikan
Objek aliran memori tidak terkelola yang mewakili sumber daya.
- Atribut
Pengecualian
Nilai sumber daya yang ditentukan bukan objek MemoryStream .
name
adalah null
.
Tidak ditemukan sekumpulan sumber daya yang dapat digunakan, dan tidak ada sumber daya default. Untuk informasi tentang cara menangani pengecualian ini, lihat bagian "Menangani MissingManifestResourceException dan MissingSatelliteAssemblyException Exceptions" di ResourceManager topik kelas.
Sumber daya budaya default berada di perakitan satelit yang tidak dapat ditemukan. Untuk informasi tentang cara menangani pengecualian ini, lihat bagian "Menangani MissingManifestResourceException dan MissingSatelliteAssemblyException Exceptions" di ResourceManager topik kelas.
Contoh
Contoh berikut menggunakan GetStream(String) metode untuk mengambil bitmap yang digunakan di jendela splash pembukaan aplikasi. Kode sumber berikut dari file bernama CreateResources.cs (untuk C#) atau CreateResources.vb (untuk Visual Basic) menghasilkan file .resx bernama AppResources.resx yang berisi gambar serial. Dalam hal ini, gambar dimuat dari file bernama SplashScreen.jpg; Anda dapat mengubah nama file untuk menggantikan gambar Anda sendiri.
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
Kode berikut dari file bernama GetStream.cs (untuk C#) atau GetStream.vb (untuk Visual Basic) kemudian mengambil sumber daya dan menampilkan gambar dalam System.Windows.Forms.PictureBox kontrol.
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
Anda dapat menggunakan file batch berikut untuk membuat contoh C#. Untuk Visual Basic, ubah csc
ke vbc
, dan ubah ekstensi file kode sumber dari .cs
ke .vb
.
csc CreateResources.cs
CreateResources
resgen AppResources.resx
csc GetStream.cs /resource:AppResources.resources
Keterangan
Metode ini GetStream mengambil nama sumber daya yang disimpan sebagai MemoryStream objek, mendapatkan nilai Object sumber daya, dan mengembalikan UnmanagedMemoryStream objek . Ini mengharuskan Anda bekerja langsung dengan aliran byte, yang kemudian Anda konversi ke objek. Metode ini berguna terutama karena alasan performa: Mengambil sumber daya sebagai aliran byte alih-alih objek eksplisit dapat meningkatkan performa.
Sumber daya yang dikembalikan dilokalkan untuk budaya UI dari utas saat ini, yang ditentukan oleh CultureInfo.CurrentUICulture properti . Jika sumber daya tidak dilokalkan untuk budaya tersebut, manajer sumber daya menggunakan aturan fallback untuk memuat sumber daya yang sesuai. Jika tidak ada sekumpulan sumber daya lokal yang dapat digunakan yang ditemukan, ResourceManager sumber daya tersebut akan kembali ke sumber daya budaya default. Jika sumber daya yang ditetapkan untuk budaya default tidak ditemukan, metode ini memberikan MissingManifestResourceException pengecualian atau, jika set sumber daya diharapkan berada di perakitan satelit, MissingSatelliteAssemblyException pengecualian. Jika resource manager dapat memuat set sumber daya yang sesuai tetapi tidak dapat menemukan sumber daya bernama name
, metode mengembalikan null
.
Properti IgnoreCase menentukan apakah perbandingan name
dengan nama sumber daya tidak peka huruf besar/kecil (default) atau peka huruf besar/kecil.
Berlaku untuk
GetStream(String, CultureInfo)
- Sumber:
- ResourceManager.cs
- Sumber:
- ResourceManager.cs
- Sumber:
- ResourceManager.cs
Penting
API ini bukan kompatibel CLS.
Mengembalikan objek aliran memori yang tidak dikelola dari sumber daya yang ditentukan, menggunakan budaya yang ditentukan.
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
Parameter
- name
- String
Nama sumber daya.
- culture
- CultureInfo
Budaya yang digunakan untuk pencarian sumber daya. Jika culture
adalah null
, budaya untuk utas saat ini digunakan.
Mengembalikan
Objek aliran memori tidak terkelola yang mewakili sumber daya.
- Atribut
Pengecualian
Nilai sumber daya yang ditentukan bukan objek MemoryStream .
name
adalah null
.
Tidak ditemukan sekumpulan sumber daya yang dapat digunakan, dan tidak ada sumber daya default. Untuk informasi tentang cara menangani pengecualian ini, lihat bagian "Menangani MissingManifestResourceException dan MissingSatelliteAssemblyException Exceptions" di ResourceManager topik kelas.
Sumber daya budaya default berada di perakitan satelit yang tidak dapat ditemukan. Untuk informasi tentang cara menangani pengecualian ini, lihat bagian "Menangani MissingManifestResourceException dan MissingSatelliteAssemblyException Exceptions" di ResourceManager topik kelas.
Keterangan
Metode ini GetStream mengambil nama sumber daya yang disimpan sebagai MemoryStream objek, mendapatkan nilai Object sumber daya, dan mengembalikan UnmanagedMemoryStream objek . Ini mengharuskan Anda bekerja langsung dengan aliran byte, yang kemudian Anda konversi ke objek. Metode ini berguna terutama karena alasan performa: Mengambil sumber daya sebagai aliran byte alih-alih objek eksplisit dapat meningkatkan performa.
Sumber daya yang dikembalikan dilokalkan untuk budaya yang ditentukan oleh culture
, atau untuk budaya yang ditentukan oleh CultureInfo.CurrentUICulture properti jika culture
adalah null
. Jika sumber daya tidak dilokalkan untuk budaya tersebut, manajer sumber daya menggunakan aturan fallback untuk memuat sumber daya yang sesuai. Jika tidak ada sekumpulan sumber daya lokal yang dapat digunakan yang ditemukan, ResourceManager sumber daya tersebut akan kembali ke sumber daya budaya default. Jika sumber daya yang ditetapkan untuk budaya default tidak ditemukan, metode ini memberikan MissingManifestResourceException pengecualian atau, jika set sumber daya diharapkan berada di perakitan satelit, MissingSatelliteAssemblyException pengecualian. Jika resource manager dapat memuat set sumber daya yang sesuai tetapi tidak dapat menemukan sumber daya bernama name
, metode mengembalikan null
.
Properti IgnoreCase menentukan apakah perbandingan name
dengan nama sumber daya tidak peka huruf besar/kecil (default) atau peka huruf besar/kecil.