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
| Name | Description |
|---|---|
| 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
- 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 bir bellek akışı nesnesi.
- Öznitelikler
Özel durumlar
Belirtilen kaynağın değeri bir MemoryStream nesne değil.
name, null'e eşittir.
Kullanılabilir kaynak kümesi bulunamadı ve varsayılan kaynak yok. Bu özel durumun nasıl işleneceğini öğrenmek için sınıf konusunun "MissingManifestResourceException ve MissingSatelliteAssemblyException Özel Durumlarını İşleme" bölümüne ResourceManager bakın.
Varsayılan kültürün kaynakları, bulunamayan bir uydu derlemesinde bulunur. Bu özel durumun nasıl işleneceğini öğrenmek için sınıf konusunun "MissingManifestResourceException ve MissingSatelliteAssemblyException Özel Durumlarını İşleme" bölümüne ResourceManager bakın.
Örnekler
Aşağıdaki örnek, bir uygulamanın açılış penceresinde kullanılan bir bitmap'i almak için GetStream(String) yöntemini kullanır. CreateResources.cs (C#için) veya CreateResources.vb (Visual Basic için) adlı bir dosyadan 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.jpgadlı 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 cscvbcolarak değiştirin ve kaynak kod dosyasının uzantısını .cs.vbolarak 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 nesne döndürür. Bunun için doğrudan bir bayt akışıyla çalışmanız ve ardından bir nesneye dönüştürmeniz gerekir. Bu yöntem öncelikle performans nedenleriyle kullanışlıdır: Açık bir nesne yerine bir kaynağı bayt akışı olarak almak performansı geliştirebilir.
Döndürülen kaynak, CultureInfo.CurrentUICulture özelliği tarafından tanımlanan geçerli iş parçacığının kullanıcı arabirimi kültürüne göre yerelleştirilmiştir. 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öntemi 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ükleyebiliyorsa ancak nameadlı bir kaynağı bulamıyorsa, yöntemi nulldöndürür.
IgnoreCase özelliği, name kaynak adlarıyla karşılaştırılmasının, büyük/küçük harfe duyarsız (varsayılan) mı yoksa büyük/küçük harfe duyarlı mı olduğunu belirler.
Şunlara uygulanır
GetStream(String, CultureInfo)
- Kaynak:
- ResourceManager.cs
- Kaynak:
- ResourceManager.cs
- 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 culturenull, geçerli iş parçacığının kültürü kullanılır.
Döndürülenler
Bir kaynağı temsil eden yönetilmeyen bir bellek akışı nesnesi.
- Öznitelikler
Özel durumlar
Belirtilen kaynağın değeri bir MemoryStream nesne değil.
name, null'e eşittir.
Kullanılabilir kaynak kümesi bulunamadı ve varsayılan kaynak yok. Bu özel durumun nasıl işleneceğini öğrenmek için sınıf konusunun "MissingManifestResourceException ve MissingSatelliteAssemblyException Özel Durumlarını İşleme" bölümüne ResourceManager bakın.
Varsayılan kültürün kaynakları, bulunamayan bir uydu derlemesinde bulunur. Bu özel durumun nasıl işleneceğini öğrenmek için sınıf konusunun "MissingManifestResourceException ve MissingSatelliteAssemblyException Özel Durumlarını İşleme" bölümüne ResourceManager bakın.
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 nesne döndürür. Bunun için doğrudan bir bayt akışıyla çalışmanız ve ardından bir nesneye dönüştürmeniz gerekir. Bu yöntem öncelikle performans nedenleriyle kullanışlıdır: Açık bir nesne yerine bir kaynağı bayt akışı olarak almak performansı geliştirebilir.
Döndürülen kaynak, culture tarafından belirtilen kültür veya CultureInfo.CurrentUICultureculture ise null özelliği tarafından 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öntemi 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ükleyebiliyorsa ancak nameadlı bir kaynağı bulamıyorsa, yöntemi nulldöndürür.
IgnoreCase özelliği, name kaynak adlarıyla karşılaştırılmasının, büyük/küçük harfe duyarsız (varsayılan) mı yoksa büyük/küçük harfe duyarlı mı olduğunu belirler.