ResourceWriter.AddResource Yöntem

Tanım

Yazılacak kaynaklar listesine bir kaynak ekler.

Aşırı Yüklemeler

AddResource(String, Byte[])

Yazılacak kaynaklar listesine bayt dizisi olarak belirtilen adlandırılmış bir kaynağı ekler.

AddResource(String, Stream)

Akış olarak belirtilen adlandırılmış bir kaynağı yazılacak kaynaklar listesine ekler.

AddResource(String, Object)

Nesne olarak belirtilen adlandırılmış bir kaynağı yazılacak kaynaklar listesine ekler.

AddResource(String, String)

Yazılacak kaynaklar listesine bir dize kaynağı ekler.

AddResource(String, Stream, Boolean)

Yazılacak kaynaklar listesine akış olarak belirtilen adlandırılmış bir kaynağı ekler ve yöntemi çağrıldıktan sonra Generate() akışın kapatılıp kapatılmayacağını belirtir.

AddResource(String, Byte[])

Kaynak:
ResourceWriter.cs
Kaynak:
ResourceWriter.cs
Kaynak:
ResourceWriter.cs

Yazılacak kaynaklar listesine bayt dizisi olarak belirtilen adlandırılmış bir kaynağı ekler.

public:
 virtual void AddResource(System::String ^ name, cli::array <System::Byte> ^ value);
public void AddResource (string name, byte[]? value);
public void AddResource (string name, byte[] value);
abstract member AddResource : string * byte[] -> unit
override this.AddResource : string * byte[] -> unit
Public Sub AddResource (name As String, value As Byte())

Parametreler

name
String

Kaynağın adı.

value
Byte[]

Kaynağın 8 bit işaretsiz tamsayı dizisi olarak değeri.

Uygulamalar

Özel durumlar

name (veya yalnızca büyük harf kullanımına göre değişen bir ad) bu ResourceWriteröğesine zaten eklenmiş.

name parametresidirnull.

Bu ResourceWriter kapatıldı ve karma tablosu kullanılamıyor.

Örnekler

Aşağıdaki örnek, bir nesneye bayt dizisi olarak okunan bir grafik görüntüsü eklemek için ResourceWriter yöntemini kullanırAddResource(String, Byte[]).

using System;
using System.IO;
using System.Resources;

public class Example
{
   public static void Main()
   {
      // Get the image as an array of bytes.
      FileStream byteStream = new FileStream("AppIcon.jpg", FileMode.Open);
      Byte[] bytes = new Byte[(int) byteStream.Length];
      byteStream.Read(bytes, 0, (int) byteStream.Length);
      
      // Create the resource file.
      using (ResourceWriter rw = new ResourceWriter(@".\UIImages.resources")) {
         rw.AddResource("AppIcon", byteStream);
         // Add any other resources.
      }
   }
}
Imports System.IO
Imports System.Resources

Module Example
   Public Sub Main()                      
      ' Get the image as an array of bytes.
      Dim byteStream As New FileStream("AppIcon.jpg", Filemode.Open)
      Dim bytes(CInt(byteStream.Length - 1)) As Byte
      byteStream.Read(bytes, 0, CInt(byteStream.Length))
      
      ' Create the resource file.
      Using rw As New ResourceWriter(".\UIImages.resources")
         rw.AddResource("AppIcon", byteStream)
         ' Add any other resources.
      End Using
   End Sub
End Module

Açıklamalar

Kaynak çağrılana kadar Generate yazılmaz.

yöntemini çağırarak ResourceManager.GetStream yöntemi tarafından AddResource(String, Byte[]) yazılan kaynakları alabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

AddResource(String, Stream)

Kaynak:
ResourceWriter.core.cs
Kaynak:
ResourceWriter.core.cs
Kaynak:
ResourceWriter.core.cs

Akış olarak belirtilen adlandırılmış bir kaynağı yazılacak kaynaklar listesine ekler.

public:
 void AddResource(System::String ^ name, System::IO::Stream ^ value);
public void AddResource (string name, System.IO.Stream? value);
public void AddResource (string name, System.IO.Stream value);
member this.AddResource : string * System.IO.Stream -> unit
Public Sub AddResource (name As String, value As Stream)

Parametreler

name
String

Eklenecek kaynağın adı.

value
Stream

Eklenecek kaynağın değeri. Kaynağın özelliğini desteklemesi Length gerekir.

Özel durumlar

name (veya yalnızca büyük harf kullanımına göre değişen bir ad) bu ResourceWriteröğesine zaten eklenmiş.

-veya-

Akış özelliğini desteklemiyor Length .

name veya value şeklindedir null.

Örnekler

Aşağıdaki örnek, AddResource(String, Stream) bir nesneye kaydedilmiş grafik görüntüsünü bir nesneye eklemek için MemoryStreamResourceWriter yöntemini kullanır.

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Resources;

public class Example
{
   public static void Main()
   {
      // Bitmap as stream
      MemoryStream bitmapStream = new MemoryStream();
      Bitmap bmp = new Bitmap(@".\\AppImage.jpg");
      bmp.Save(bitmapStream, ImageFormat.Jpeg);
          
      using (ResourceWriter rw = new ResourceWriter(@".\UIImages.resources"))
      {
         rw.AddResource("Bitmap", bitmapStream);
         // Add other resources.
      }
   }
}
Imports System.Drawing
Imports System.IO
Imports System.Resources

Module Example
   Public Sub Main()
      ' Bitmap as stream
      Dim bitmapStream As New MemoryStream()
      Dim bmp As New Bitmap(".\\AppImage.jpg")
      bmp.Save(bitmapStream, Imaging.ImageFormat.Jpeg)
          
      Using rw As New ResourceWriter(".\UIImages.resources")
         rw.AddResource("Bitmap", bitmapStream)
         ' Add other resources.
      End Using
   End Sub
End Module

Açıklamalar

için valueözelliğini destekleyen Stream.Length herhangi bir akış belirtebilirsiniz.

yöntemini çağırarak ResourceManager.GetStream yöntemi tarafından AddResource(String, Stream) yazılan kaynakları alabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

AddResource(String, Object)

Kaynak:
ResourceWriter.cs
Kaynak:
ResourceWriter.cs
Kaynak:
ResourceWriter.cs

Nesne olarak belirtilen adlandırılmış bir kaynağı yazılacak kaynaklar listesine ekler.

public:
 virtual void AddResource(System::String ^ name, System::Object ^ value);
public void AddResource (string name, object? value);
public void AddResource (string name, object value);
abstract member AddResource : string * obj -> unit
override this.AddResource : string * obj -> unit
Public Sub AddResource (name As String, value As Object)

Parametreler

name
String

Kaynağın adı.

value
Object

Kaynağın değeri.

Uygulamalar

Özel durumlar

name (veya yalnızca büyük harf kullanımına göre değişen bir ad) bu ResourceWriteröğesine zaten eklenmiş.

name parametresidirnull.

Bu ResourceWriter kapatıldı ve karma tablosu kullanılamıyor.

Örnekler

Aşağıdaki örnek, ikili kaynaklar dosyasına nesne verileri eklemek için yöntemini kullanır AddResource(String, Object) .

using System;
using System.Resources;

public class Example
{
   public static void Main()
   {
      DonorColumns columns = new DonorColumns("Emplyee #", "Name", 
                                              "Total Amount", "Last Donation Date",
                                              "Last Donation Amount");
      ResourceWriter resFile = new ResourceWriter(@".\UIResources.resources");
      resFile.AddResource("Title", "Corporate Gold Star Donors");
      resFile.AddResource("NColumns", 5);
      resFile.AddResource("AppDate", new DateTime(2011, 5, 28));
      resFile.AddResource("AppVersion", new Version(1, 0, 217));
      resFile.AddResource("HRVersion", true);
      resFile.Generate();
      resFile.Close();               
   }
}

// Class to hold potentially localized column names.
[Serializable] public class DonorColumns
{
   readonly string ID;
   readonly string Name;
   readonly string Total;
   readonly string Last;
   readonly string Amt;

   public DonorColumns(string id, string name, string total, 
                  string last, string amt)
   {                  
      this.ID = id;
      this.Name = name;
      this.Total = total;
      this.Last = last;
      this.Amt = amt;                        
   }   
}

DonorColumns , alanları kullanıcı arabiriminde görüntülenecek sütunların adlarını içeren özel bir sınıftır. sınıfının özniteliğiyle SerializableAttribute işaretlendiğini unutmayın. Normalde, sınıfı ayrı bir derlemede tanımlanır ve derleme zamanında derleyiciye bir başvuru sağlanır.

Açıklamalar

value seri hale getirilebilir olmalıdır.

Yöntem çağrılana Generate kadar kaynak yazılmaz.

yöntemini çağırarak ResourceManager.GetObject yöntemi tarafından AddResource(String, Object) yazılan kaynakları alabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

AddResource(String, String)

Kaynak:
ResourceWriter.cs
Kaynak:
ResourceWriter.cs
Kaynak:
ResourceWriter.cs

Yazılacak kaynaklar listesine bir dize kaynağı ekler.

public:
 virtual void AddResource(System::String ^ name, System::String ^ value);
public:
 void AddResource(System::String ^ name, System::String ^ value);
public void AddResource (string name, string? value);
public void AddResource (string name, string value);
abstract member AddResource : string * string -> unit
override this.AddResource : string * string -> unit
member this.AddResource : string * string -> unit
Public Sub AddResource (name As String, value As String)

Parametreler

name
String

Kaynağın adı.

value
String

Kaynağın değeri.

Uygulamalar

Özel durumlar

name (veya yalnızca büyük harfe çevirmeyle değişen bir ad) bu ResourceWriter'a zaten eklenmiş.

name parametresidirnull.

Bu ResourceWriter kapatıldı ve karma tablosu kullanılamıyor.

Örnekler

Aşağıdaki örnek, bir ResourceWriter nesneye dize kaynakları eklemek için yöntemini kullanırAddResource.

using namespace System;
using namespace System::Resources;
using namespace System::IO;
int main()
{
   
   // Create a file stream to encapsulate items.resources.
   FileStream^ fs = gcnew FileStream( "items.resources",FileMode::OpenOrCreate,FileAccess::Write );
   
   // Open a resource writer to write from the stream.
   IResourceWriter^ writer = gcnew ResourceWriter( fs );
   
   // Add resources to the resource writer.
   writer->AddResource( "String 1", "First String" );
   writer->AddResource( "String 2", "Second String" );
   writer->AddResource( "String 3", "Third String" );
   
   // Write the resources to the stream, and close it.
   writer->Close();
}
using System;
using System.Resources;
using System.IO;

public class WriteResources 
{
    public static void Main(string[] args) 
    {  
        // Create a file stream to encapsulate items.resources.
        FileStream fs = new FileStream("items.resources", 
        FileMode.OpenOrCreate,FileAccess.Write);

        // Open a resource writer to write from the stream.
        IResourceWriter writer = new ResourceWriter(fs);
    
        // Add resources to the resource writer.
        writer.AddResource("String 1", "First String");
        writer.AddResource("String 2", "Second String");
        writer.AddResource("String 3", "Third String");

        // Write the resources to the stream, and close it.
        writer.Close();
    }
}
Imports System.Resources
Imports System.IO

Public Class WriteResources
   
    Public Shared Sub Main(args() As String)
        ' Create a file stream to encapsulate items.resources.
        Dim fs As New FileStream("items.resources", _
           FileMode.OpenOrCreate, FileAccess.Write)
      
        ' Open a resource writer to write from the stream.
        Dim writer = New ResourceWriter(fs)
      
        ' Add resources to the resource writer.
        writer.AddResource("String 1", "First String")
        writer.AddResource("String 2", "Second String")
        writer.AddResource("String 3", "Third String")
      
        ' Write the resources to the stream, and close it.
        writer.Close()
    End Sub

End Class

Açıklamalar

Kaynak çağrılana kadar Generate yazılmaz.

yöntemini çağırarak ResourceManager.GetString yöntemi tarafından AddResource(String, String) yazılan kaynakları alabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

AddResource(String, Stream, Boolean)

Kaynak:
ResourceWriter.cs
Kaynak:
ResourceWriter.cs
Kaynak:
ResourceWriter.cs

Yazılacak kaynaklar listesine akış olarak belirtilen adlandırılmış bir kaynağı ekler ve yöntemi çağrıldıktan sonra Generate() akışın kapatılıp kapatılmayacağını belirtir.

public:
 void AddResource(System::String ^ name, System::IO::Stream ^ value, bool closeAfterWrite);
public void AddResource (string name, System.IO.Stream? value, bool closeAfterWrite = false);
public void AddResource (string name, System.IO.Stream value, bool closeAfterWrite);
member this.AddResource : string * System.IO.Stream * bool -> unit
Public Sub AddResource (name As String, value As Stream, Optional closeAfterWrite As Boolean = false)
Public Sub AddResource (name As String, value As Stream, closeAfterWrite As Boolean)

Parametreler

name
String

Eklenecek kaynağın adı.

value
Stream

Eklenecek kaynağın değeri. Kaynağın özelliğini desteklemesi Length gerekir.

closeAfterWrite
Boolean

true yöntemi çağrıldıktan sonra Generate() akışı kapatmak için; aksi takdirde , false.

Özel durumlar

name (veya yalnızca büyük harf kullanımına göre değişen bir ad) bu ResourceWriteröğesine zaten eklenmiş.

-veya-

Akış özelliğini desteklemiyor Length .

name veya value şeklindedir null.

Örnekler

Aşağıdaki örnek, AddResource(String, Stream, Boolean) bir nesneye kaydedilmiş grafik görüntüsünü bir nesneye eklemek için MemoryStreamResourceWriter yöntemini kullanır.

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Resources;

public class Example
{
   public static void Main()
   {
      // Bitmap as stream
      MemoryStream bitmapStream = new MemoryStream();
      Bitmap bmp = new Bitmap(@".\\AppImage.jpg");
      bmp.Save(bitmapStream, ImageFormat.Jpeg);
          
      ResourceWriter rw = new ResourceWriter(@".\UIImages.resources");
      rw.AddResource("Bitmap", bitmapStream, true);
      // Add other resources.
      rw.Generate();
   }
}
Imports System.Drawing
Imports System.IO
Imports System.Resources

Module Example
   Public Sub Main()
      ' Bitmap as stream
      Dim bitmapStream As New MemoryStream()
      Dim bmp As New Bitmap(".\\AppImage.jpg")
      bmp.Save(bitmapStream, Imaging.ImageFormat.Jpeg)
          
      Dim rw As New ResourceWriter(".\UIImages.resources")
      rw.AddResource("Bitmap", bitmapStream, True)
      ' Add other resources.
      rw.Generate()
   End Sub
End Module

Açıklamalar

için valueözelliğini destekleyen Stream.Length herhangi bir akış belirtebilirsiniz.

yöntemini çağırarak ResourceManager.GetStream yöntemi tarafından AddResource(String, Stream, Boolean) yazılan kaynakları alabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır