ResourceManager.GetStream Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen kaynaktan yönetilmeyen bir bellek akışı nesnesi döndürür.
Aşırı Yüklemeler
GetStream(String) |
Belirtilen kaynaktan yönetilmeyen bir bellek akışı nesnesi döndürür. |
GetStream(String, CultureInfo) |
Belirtilen kültürü kullanarak belirtilen kaynaktan yönetilmeyen bir bellek akışı nesnesi döndürür. |
GetStream(String)
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
Önemli
Bu API, CLS uyumlu değildir.
Belirtilen kaynaktan yönetilmeyen bir bellek akışı nesnesi döndürür.
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
Parametreler
- name
- String
Kaynağın adı.
Döndürülenler
Bir kaynağı temsil eden yönetilmeyen bellek akışı nesnesi.
- Öznitelikler
Özel durumlar
Belirtilen kaynağın değeri bir MemoryStream nesne değil.
name
, null
değeridir.
Kullanılabilir kaynak kümesi bulunamadı ve varsayılan kaynak yok. Bu özel durumu işleme hakkında bilgi için sınıf konusunun "MissingManifestResourceException ve MissingSatelliteAssemblyException Özel Durumlarını İşleme" bölümüne bakın ResourceManager .
Varsayılan kültürün kaynakları, bulunamayan bir uydu derlemesinde bulunur. Bu özel durumu işleme hakkında bilgi için sınıf konusunun "MissingManifestResourceException ve MissingSatelliteAssemblyException Özel Durumlarını İşleme" bölümüne bakın ResourceManager .
Örnekler
Aşağıdaki örnek, bir uygulamanın açılış giriş penceresinde kullanılan bit eşlemi almak için yöntemini kullanır GetStream(String) . CreateResources.cs (C#için) veya CreateResources.vb (Visual Basic için) adlı bir dosyadan alınan aşağıdaki kaynak kod, serileştirilmiş görüntüyü içeren AppResources.resx adlı bir .resx dosyası oluşturur. Bu durumda görüntü, SplashScreen.jpg adlı bir dosyadan yüklenir; dosya adını kendi görüntünüzün yerine geçecek şekilde değiştirebilirsiniz.
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
GetStream.cs (C#için) veya GetStream.vb (Visual Basic için) adlı bir dosyadan aşağıdaki kod, kaynağı alır ve görüntüyü bir System.Windows.Forms.PictureBox denetimde görüntüler.
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
C# örneğini oluşturmak için aşağıdaki toplu iş dosyasını kullanabilirsiniz. Visual Basic için olarak değiştirin csc
vbc
ve kaynak kod dosyasının uzantısını olarak .cs
.vb
değiştirin.
csc CreateResources.cs
CreateResources
resgen AppResources.resx
csc GetStream.cs /resource:AppResources.resources
Açıklamalar
GetStream yöntemi, nesne olarak MemoryStream depolanan bir kaynağın adını alır, kaynağın Object değerini alır ve bir UnmanagedMemoryStream nesnesi döndürür. Daha sonra bir nesneye dönüştürdüğünüz bir bayt akışıyla doğrudan çalışmanızı gerektirir. Bu yöntem öncelikle performans nedenleriyle kullanışlıdır: Açık bir nesne yerine bir kaynağı bayt akışı olarak almak performansı artırabilir.
Döndürülen kaynak, özelliği tarafından CultureInfo.CurrentUICulture tanımlanan geçerli iş parçacığının ui kültürü için yerelleştirilir. Kaynak bu kültür için yerelleştirilmemişse, kaynak yöneticisi uygun bir kaynağı yüklemek için geri dönüş kurallarını kullanır. Kullanılabilir yerelleştirilmiş kaynak kümesi bulunmazsa, ResourceManager varsayılan kültürün kaynaklarına geri döner. Varsayılan kültür için bir kaynak kümesi bulunamazsa, yöntem bir MissingManifestResourceException özel durum oluşturur veya kaynak kümesinin bir uydu derlemesinde bulunması bekleniyorsa bir MissingSatelliteAssemblyException özel durum oluşturur. Kaynak yöneticisi uygun bir kaynak kümesi yükleyebiliyor ancak adlı name
bir kaynağı bulamıyorsa, yöntemi döndürür null
.
IgnoreCase özelliği, öğesinin kaynak adlarıyla karşılaştırılmasının name
büyük/küçük harfe duyarlı (varsayılan) veya büyük/küçük harfe duyarlı olup olmadığını belirler.
Şunlara uygulanır
GetStream(String, CultureInfo)
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
Önemli
Bu API, CLS uyumlu değildir.
Belirtilen kültürü kullanarak belirtilen kaynaktan yönetilmeyen bir bellek akışı nesnesi döndürür.
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
Parametreler
- name
- String
Kaynağın adı.
- culture
- CultureInfo
Kaynak arama için kullanılacak kültür. ise culture
null
, geçerli iş parçacığının kültürü kullanılır.
Döndürülenler
Bir kaynağı temsil eden yönetilmeyen bellek akışı nesnesi.
- Öznitelikler
Özel durumlar
Belirtilen kaynağın değeri bir MemoryStream nesne değil.
name
, null
değeridir.
Kullanılabilir kaynak kümesi bulunamadı ve varsayılan kaynak yok. Bu özel durumu işleme hakkında bilgi için sınıf konusunun "MissingManifestResourceException ve MissingSatelliteAssemblyException Özel Durumlarını İşleme" bölümüne bakın ResourceManager .
Varsayılan kültürün kaynakları, bulunamayan bir uydu derlemesinde bulunur. Bu özel durumu işleme hakkında bilgi için sınıf konusunun "MissingManifestResourceException ve MissingSatelliteAssemblyException Özel Durumlarını İşleme" bölümüne bakın ResourceManager .
Açıklamalar
GetStream yöntemi, nesne olarak MemoryStream depolanan bir kaynağın adını alır, kaynağın Object değerini alır ve bir UnmanagedMemoryStream nesnesi döndürür. Daha sonra bir nesneye dönüştürdüğünüz bir bayt akışıyla doğrudan çalışmanızı gerektirir. Bu yöntem öncelikle performans nedenleriyle kullanışlıdır: Açık bir nesne yerine bir kaynağı bayt akışı olarak almak performansı artırabilir.
Döndürülen kaynak, tarafından culture
belirtilen kültür için veya ise culture
null
özelliği tarafından CultureInfo.CurrentUICulture belirtilen kültür için yerelleştirilir. Kaynak bu kültür için yerelleştirilmemişse, kaynak yöneticisi uygun bir kaynağı yüklemek için geri dönüş kurallarını kullanır. Kullanılabilir yerelleştirilmiş kaynak kümesi bulunmazsa, ResourceManager varsayılan kültürün kaynaklarına geri döner. Varsayılan kültür için bir kaynak kümesi bulunamazsa, yöntem bir MissingManifestResourceException özel durum oluşturur veya kaynak kümesinin bir uydu derlemesinde bulunması bekleniyorsa bir MissingSatelliteAssemblyException özel durum oluşturur. Kaynak yöneticisi uygun bir kaynak kümesi yükleyebiliyor ancak adlı name
bir kaynağı bulamıyorsa, yöntemi döndürür null
.
IgnoreCase özelliği, öğesinin kaynak adlarıyla karşılaştırılmasının name
büyük/küçük harfe duyarlı (varsayılan) veya büyük/küçük harfe duyarlı olup olmadığını belirler.