ResourceWriter.AddResource Methode

Definitie

Voegt een resource toe aan de lijst met resources die moeten worden geschreven.

Overloads

Name Description
AddResource(String, Byte[])

Voegt een benoemde resource die is opgegeven als bytematrix toe aan de lijst met resources die moeten worden geschreven.

AddResource(String, Stream)

Voegt een benoemde resource die is opgegeven als een stroom toe aan de lijst met resources die moeten worden geschreven.

AddResource(String, Object)

Hiermee voegt u een benoemde resource toe die is opgegeven als een object aan de lijst met resources die moeten worden geschreven.

AddResource(String, String)

Voegt een tekenreeksresource toe aan de lijst met resources die moeten worden geschreven.

AddResource(String, Stream, Boolean)

Voegt een benoemde resource toe die is opgegeven als een stroom aan de lijst met resources die moeten worden geschreven en geeft aan of de stream moet worden gesloten nadat de Generate() methode is aangeroepen.

AddResource(String, Byte[])

Voegt een benoemde resource die is opgegeven als bytematrix toe aan de lijst met resources die moeten worden geschreven.

public:
 virtual void AddResource(System::String ^ name, cli::array <System::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())

Parameters

name
String

De naam van de resource.

value
Byte[]

De waarde van de resource als een 8-bits matrix met niet-ondertekende gehele getallen.

Implementeringen

Uitzonderingen

name (of een naam die alleen varieert met hoofdlettergebruik) is al aan dit ResourceWritertoegevoegd.

De name parameter is null.

Dit ResourceWriter is gesloten en de hashtabel is niet beschikbaar.

Voorbeelden

In het volgende voorbeeld wordt de AddResource(String, Byte[]) methode gebruikt om een grafische afbeelding toe te voegen die is gelezen als een matrix van bytes aan een ResourceWriter object.

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

Opmerkingen

De resource wordt pas geschreven als Generate deze wordt aangeroepen.

U kunt de resources ophalen die zijn geschreven door de AddResource(String, Byte[]) methode door de methode aan te ResourceManager.GetStream roepen.

Zie ook

Van toepassing op

AddResource(String, Stream)

Voegt een benoemde resource die is opgegeven als een stroom toe aan de lijst met resources die moeten worden geschreven.

public:
 void AddResource(System::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)

Parameters

name
String

De naam van de resource die u wilt toevoegen.

value
Stream

De waarde van de resource die moet worden toegevoegd. De resource moet de Length eigenschap ondersteunen.

Uitzonderingen

name (of een naam die alleen varieert met hoofdlettergebruik) is al aan dit ResourceWritertoegevoegd.

– of –

De stream biedt geen ondersteuning voor de Length eigenschap.

name of value is null.

Voorbeelden

In het volgende voorbeeld wordt de AddResource(String, Stream) methode gebruikt om een grafische afbeelding toe te voegen die is opgeslagen in een MemoryStream object in een ResourceWriter object.

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

Opmerkingen

U kunt elke stream opgeven die ondersteuning biedt voor de Stream.Length eigenschap voor value.

U kunt de resources ophalen die zijn geschreven door de AddResource(String, Stream) methode door de methode aan te ResourceManager.GetStream roepen.

Zie ook

Van toepassing op

AddResource(String, Object)

Hiermee voegt u een benoemde resource toe die is opgegeven als een object aan de lijst met resources die moeten worden geschreven.

public:
 virtual void AddResource(System::String ^ name, System::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)

Parameters

name
String

De naam van de resource.

value
Object

De waarde van de resource.

Implementeringen

Uitzonderingen

name (of een naam die alleen varieert met hoofdlettergebruik) is al aan dit ResourceWritertoegevoegd.

De name parameter is null.

Dit ResourceWriter is gesloten en de hashtabel is niet beschikbaar.

Voorbeelden

In het volgende voorbeeld wordt de AddResource(String, Object) methode gebruikt om objectgegevens toe te voegen aan een bestand met binaire resources.

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 is een aangepaste klasse waarvan de velden de namen van kolommen bevatten die moeten worden weergegeven in de gebruikersinterface. Houd er rekening mee dat de klasse is gemarkeerd met het SerializableAttribute kenmerk. Normaal gesproken wordt de klasse gedefinieerd in een afzonderlijke assembly en wordt er tijdens het compiler een verwijzing naar de compiler verstrekt.

Opmerkingen

value moet serialiseerbaar zijn.

De resource wordt pas geschreven als de Generate methode wordt aangeroepen.

U kunt de resources ophalen die zijn geschreven door de AddResource(String, Object) methode door de methode aan te ResourceManager.GetObject roepen.

Zie ook

Van toepassing op

AddResource(String, String)

Voegt een tekenreeksresource toe aan de lijst met resources die moeten worden geschreven.

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

Parameters

name
String

De naam van de resource.

value
String

De waarde van de resource.

Implementeringen

Uitzonderingen

name (of een naam die alleen varieert met hoofdlettergebruik) is al toegevoegd aan deze ResourceWriter.

De name parameter is null.

Dit ResourceWriter is gesloten en de hashtabel is niet beschikbaar.

Voorbeelden

In het volgende voorbeeld wordt de AddResource methode gebruikt om tekenreeksbronnen toe te voegen aan een ResourceWriter object.

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

Opmerkingen

De resource wordt pas geschreven als Generate deze wordt aangeroepen.

U kunt de resources ophalen die zijn geschreven door de AddResource(String, String) methode door de methode aan te ResourceManager.GetString roepen.

Zie ook

Van toepassing op

AddResource(String, Stream, Boolean)

Voegt een benoemde resource toe die is opgegeven als een stroom aan de lijst met resources die moeten worden geschreven en geeft aan of de stream moet worden gesloten nadat de Generate() methode is aangeroepen.

public:
 void AddResource(System::String ^ name, System::IO::Stream ^ value, bool closeAfterWrite);
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, closeAfterWrite As Boolean)

Parameters

name
String

De naam van de resource die u wilt toevoegen.

value
Stream

De waarde van de resource die moet worden toegevoegd. De resource moet de Length eigenschap ondersteunen.

closeAfterWrite
Boolean

trueom de stroom te sluiten nadat de Generate() methode is aangeroepen; anders. false

Uitzonderingen

name (of een naam die alleen varieert met hoofdlettergebruik) is al aan dit ResourceWritertoegevoegd.

– of –

De stream biedt geen ondersteuning voor de Length eigenschap.

name of value is null.

Voorbeelden

In het volgende voorbeeld wordt de AddResource(String, Stream, Boolean) methode gebruikt om een grafische afbeelding toe te voegen die is opgeslagen in een MemoryStream object in een ResourceWriter object.

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

Opmerkingen

U kunt elke stream opgeven die ondersteuning biedt voor de Stream.Length eigenschap voor value.

U kunt de resources ophalen die zijn geschreven door de AddResource(String, Stream, Boolean) methode door de methode aan te ResourceManager.GetStream roepen.

Zie ook

Van toepassing op