ResourceWriter.AddResource メソッド

定義

書き込むリソースのリストにリソースを追加します。

オーバーロード

AddResource(String, Byte[])

書き込むリソースのリストに、バイト配列として指定された名前付きリソースを追加します。

AddResource(String, Stream)

書き込むリソースのリストに、ストリームとして指定された名前付きリソースを追加します。

AddResource(String, Object)

書き込むリソースのリストに、オブジェクトとして指定された名前付きリソースを追加します。

AddResource(String, String)

書き込むリソースのリストに文字列リソースを追加します。

AddResource(String, Stream, Boolean)

書き込むリソースのリストに、ストリームとして指定された名前付きリソースを追加し、Generate() メソッドが呼び出された後にストリームを閉じる必要があるかどうかを指定します。

AddResource(String, Byte[])

ソース:
ResourceWriter.cs
ソース:
ResourceWriter.cs
ソース:
ResourceWriter.cs

書き込むリソースのリストに、バイト配列として指定された名前付きリソースを追加します。

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

パラメーター

name
String

リソースの名前。

value
Byte[]

8 ビット符号なし整数の配列で表されたリソースの値。

実装

例外

name (または、大文字小文字の違いだけで区別される名前) が既に、この ResourceWriter に追加されています。

name パラメーターが null です。

この ResourceWriter が閉じていて、そのハッシュ テーブルを利用できません。

次の例では、 メソッドを AddResource(String, Byte[]) 使用して、バイト配列として読み取られたグラフィックス イメージを オブジェクトに 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

注釈

リソースは、 が呼び出されるまで Generate 書き込まれません。

メソッドによって書き込まれたリソースを取得するには、 AddResource(String, Byte[]) メソッドを ResourceManager.GetStream 呼び出します。

こちらもご覧ください

適用対象

AddResource(String, Stream)

ソース:
ResourceWriter.core.cs
ソース:
ResourceWriter.core.cs
ソース:
ResourceWriter.core.cs

書き込むリソースのリストに、ストリームとして指定された名前付きリソースを追加します。

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)

パラメーター

name
String

追加するリソースの名前。

value
Stream

追加するリソースの値。 リソースは Length プロパティをサポートする必要があります。

例外

name (または、大文字小文字の違いだけで区別される名前) が既に、この ResourceWriter に追加されています。

または

ストリームでは Length プロパティがサポートされません。

name または valuenull です。

この ResourceWriter は閉じられています。

次の例では、 メソッドを AddResource(String, Stream) 使用して、オブジェクトに保存されているグラフィックス イメージを MemoryStream オブジェクトに 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

注釈

の プロパティvalueをサポートする任意のストリームをStream.Length指定できます。

メソッドによって書き込まれたリソースを取得するには、 AddResource(String, Stream) メソッドを ResourceManager.GetStream 呼び出します。

こちらもご覧ください

適用対象

AddResource(String, Object)

ソース:
ResourceWriter.cs
ソース:
ResourceWriter.cs
ソース:
ResourceWriter.cs

書き込むリソースのリストに、オブジェクトとして指定された名前付きリソースを追加します。

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)

パラメーター

name
String

リソースの名前。

value
Object

リソースの値です。

実装

例外

name (または、大文字小文字の違いだけで区別される名前) が既に、この ResourceWriter に追加されています。

name パラメーターが null です。

この ResourceWriter が閉じていて、そのハッシュ テーブルを利用できません。

次の例では、 メソッドを 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 は、ユーザー インターフェイスに表示される列の名前をフィールドに含むカスタム クラスです。 クラスは 属性でマークされていることに SerializableAttribute 注意してください。 通常、クラスは別のアセンブリで定義され、そのクラスへの参照はコンパイル時にコンパイラに提供されます。

注釈

value はシリアル化可能である必要があります。

リソースは、 メソッドが Generate 呼び出されるまで書き込まれません。

メソッドによって書き込まれたリソースを取得するには、 AddResource(String, Object) メソッドを ResourceManager.GetObject 呼び出します。

こちらもご覧ください

適用対象

AddResource(String, String)

ソース:
ResourceWriter.cs
ソース:
ResourceWriter.cs
ソース:
ResourceWriter.cs

書き込むリソースのリストに文字列リソースを追加します。

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)

パラメーター

name
String

リソースの名前。

value
String

リソースの値です。

実装

例外

name (または、大文字小文字の違いだけで区別される名前) が既に、この ResourceWriter に追加されています。

name パラメーターが null です。

この ResourceWriter が閉じていて、そのハッシュ テーブルを利用できません。

次の例では、 メソッドを AddResource 使用して、文字列リソースを オブジェクトに 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

注釈

リソースは、 が呼び出されるまで Generate 書き込まれません。

メソッドによって書き込まれたリソースを取得するには、 AddResource(String, String) メソッドを ResourceManager.GetString 呼び出します。

こちらもご覧ください

適用対象

AddResource(String, Stream, Boolean)

ソース:
ResourceWriter.cs
ソース:
ResourceWriter.cs
ソース:
ResourceWriter.cs

書き込むリソースのリストに、ストリームとして指定された名前付きリソースを追加し、Generate() メソッドが呼び出された後にストリームを閉じる必要があるかどうかを指定します。

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)

パラメーター

name
String

追加するリソースの名前。

value
Stream

追加するリソースの値。 リソースは Length プロパティをサポートする必要があります。

closeAfterWrite
Boolean

Generate() メソッドが呼び出された後にストリームを閉じる場合は true。それ以外の場合は false

例外

name (または、大文字小文字の違いだけで区別される名前) が既に、この ResourceWriter に追加されています。

または

ストリームでは Length プロパティがサポートされません。

name または valuenull です。

この ResourceWriter は閉じられています。

次の例では、 メソッドを AddResource(String, Stream, Boolean) 使用して、オブジェクトに保存されているグラフィックス イメージを MemoryStream オブジェクトに 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

注釈

の プロパティvalueをサポートする任意のストリームをStream.Length指定できます。

メソッドによって書き込まれたリソースを取得するには、 AddResource(String, Stream, Boolean) メソッドを ResourceManager.GetStream 呼び出します。

こちらもご覧ください

適用対象