Sdílet prostřednictvím


ResourceWriter.AddResource Metoda

Definice

Přidá prostředek do seznamu prostředků, které se mají zapsat.

Přetížení

AddResource(String, Byte[])

Přidá pojmenovaný prostředek zadaný jako pole bajtů do seznamu prostředků, které se mají zapsat.

AddResource(String, Stream)

Přidá pojmenovaný prostředek zadaný jako datový proud do seznamu prostředků, které se mají zapsat.

AddResource(String, Object)

Přidá pojmenovaný prostředek zadaný jako objekt do seznamu prostředků, které se mají zapsat.

AddResource(String, String)

Přidá řetězcový prostředek do seznamu prostředků, které se mají zapsat.

AddResource(String, Stream, Boolean)

Přidá pojmenovaný prostředek zadaný jako datový proud do seznamu prostředků, které mají být zapsány, a určuje, zda má být datový proud uzavřen po Generate() zavolání metody.

AddResource(String, Byte[])

Zdroj:
ResourceWriter.cs
Zdroj:
ResourceWriter.cs
Zdroj:
ResourceWriter.cs

Přidá pojmenovaný prostředek zadaný jako pole bajtů do seznamu prostředků, které se mají zapsat.

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())

Parametry

name
String

Název prostředku.

value
Byte[]

Hodnota prostředku jako 8bitové celočíselné pole bez znaménka

Implementuje

Výjimky

name (nebo název, který se liší pouze podle velkých písmen) již byl přidán do tohoto ResourceWritersouboru .

Parametr name je null.

Tato ResourceWriter hodnota byla uzavřena a její tabulka hodnot hash není k dispozici.

Příklady

Následující příklad používá metodu AddResource(String, Byte[]) k přidání grafického obrázku, který byl načten jako pole bajtů objektu ResourceWriter .

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

Poznámky

Prostředek se nezapíše, dokud Generate se nezavolá.

Prostředky zapsané metodou AddResource(String, Byte[]) můžete načíst voláním ResourceManager.GetStream metody .

Viz také

Platí pro

AddResource(String, Stream)

Zdroj:
ResourceWriter.core.cs
Zdroj:
ResourceWriter.core.cs
Zdroj:
ResourceWriter.core.cs

Přidá pojmenovaný prostředek zadaný jako datový proud do seznamu prostředků, které se mají zapsat.

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)

Parametry

name
String

Název prostředku, který chcete přidat.

value
Stream

Hodnota prostředku, který se má přidat. Prostředek musí podporovat Length vlastnost.

Výjimky

name (nebo název, který se liší pouze podle velkých písmen) již byl přidán do tohoto ResourceWritersouboru .

-nebo-

Datový proud vlastnost nepodporuje Length .

name nebo value je null.

Příklady

Následující příklad používá metodu AddResource(String, Stream) k přidání grafického obrázku, který byl uložen do objektu MemoryStream do objektu ResourceWriter .

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

Poznámky

Můžete zadat libovolný datový proud, který podporuje Stream.Length vlastnost pro value.

Prostředky zapsané metodou AddResource(String, Stream) můžete načíst voláním ResourceManager.GetStream metody .

Viz také

Platí pro

AddResource(String, Object)

Zdroj:
ResourceWriter.cs
Zdroj:
ResourceWriter.cs
Zdroj:
ResourceWriter.cs

Přidá pojmenovaný prostředek zadaný jako objekt do seznamu prostředků, které se mají zapsat.

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)

Parametry

name
String

Název prostředku.

value
Object

Hodnota prostředku.

Implementuje

Výjimky

name (nebo název, který se liší pouze podle velkých písmen) již byl přidán do tohoto ResourceWritersouboru .

Parametr name je null.

Tato ResourceWriter hodnota byla uzavřena a její tabulka hodnot hash není k dispozici.

Příklady

Následující příklad používá metodu AddResource(String, Object) k přidání dat objektu do souboru binárních prostředků.

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 je vlastní třída, jejíž pole obsahují názvy sloupců, které se mají zobrazit v uživatelském rozhraní. Všimněte si, že třída je označena atributem SerializableAttribute . Obvykle by třída byla definována v samostatném sestavení a odkaz na ni by byl poskytnut kompilátoru v době kompilace.

Poznámky

value musí být serializovatelné.

Prostředek není zapsán, dokud Generate není volána metoda.

Prostředky zapsané metodou AddResource(String, Object) můžete načíst voláním ResourceManager.GetObject metody .

Viz také

Platí pro

AddResource(String, String)

Zdroj:
ResourceWriter.cs
Zdroj:
ResourceWriter.cs
Zdroj:
ResourceWriter.cs

Přidá řetězcový prostředek do seznamu prostředků, které se mají zapsat.

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)

Parametry

name
String

Název prostředku.

value
String

Hodnota prostředku.

Implementuje

Výjimky

name (nebo název, který se liší pouze velkými písmeny) již byl přidán do tohoto ResourceWriter.

Parametr name je null.

Tato ResourceWriter hodnota byla uzavřena a její tabulka hodnot hash není k dispozici.

Příklady

Následující příklad používá metodu AddResource k přidání řetězcových prostředků do objektu ResourceWriter .

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

Poznámky

Prostředek se nezapíše, dokud Generate se nezavolá.

Prostředky zapsané metodou AddResource(String, String) můžete načíst voláním ResourceManager.GetString metody .

Viz také

Platí pro

AddResource(String, Stream, Boolean)

Zdroj:
ResourceWriter.cs
Zdroj:
ResourceWriter.cs
Zdroj:
ResourceWriter.cs

Přidá pojmenovaný prostředek zadaný jako datový proud do seznamu prostředků, které mají být zapsány, a určuje, zda má být datový proud uzavřen po Generate() zavolání metody.

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)

Parametry

name
String

Název prostředku, který chcete přidat.

value
Stream

Hodnota prostředku, který se má přidat. Prostředek musí podporovat Length vlastnost.

closeAfterWrite
Boolean

true k zavření datového proudu po zavolání Generate() metody. falseV opačném případě .

Výjimky

name (nebo název, který se liší pouze podle velkých písmen) již byl přidán do tohoto ResourceWritersouboru .

-nebo-

Datový proud vlastnost nepodporuje Length .

name nebo value je null.

Příklady

Následující příklad používá metodu AddResource(String, Stream, Boolean) k přidání grafického obrázku, který byl uložen do objektu MemoryStream do objektu ResourceWriter .

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

Poznámky

Můžete zadat libovolný datový proud, který podporuje Stream.Length vlastnost pro value.

Prostředky zapsané metodou AddResource(String, Stream, Boolean) můžete načíst voláním ResourceManager.GetStream metody .

Viz také

Platí pro