ResourceWriter.AddResource メソッド
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
書き込むリソースのリストにリソースを追加します。
AddResource(String, Byte[]) |
書き込むリソースのリストに、バイト配列として指定された名前付きリソースを追加します。 |
AddResource(String, Stream) |
書き込むリソースのリストに、ストリームとして指定された名前付きリソースを追加します。 |
AddResource(String, Object) |
書き込むリソースのリストに、オブジェクトとして指定された名前付きリソースを追加します。 |
AddResource(String, String) |
書き込むリソースのリストに文字列リソースを追加します。 |
AddResource(String, Stream, Boolean) |
書き込むリソースのリストに、ストリームとして指定された名前付きリソースを追加し、Generate() メソッドが呼び出された後にストリームを閉じる必要があるかどうかを指定します。 |
書き込むリソースのリストに、バイト配列として指定された名前付きリソースを追加します。
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 呼び出します。
こちらもご覧ください
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
書き込むリソースのリストに、ストリームとして指定された名前付きリソースを追加します。
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
追加するリソースの名前。
例外
name
または value
が null
です。
この 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 呼び出します。
こちらもご覧ください
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
書き込むリソースのリストに、オブジェクトとして指定された名前付きリソースを追加します。
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 呼び出します。
こちらもご覧ください
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
書き込むリソースのリストに文字列リソースを追加します。
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 呼び出します。
こちらもご覧ください
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
書き込むリソースのリストに、ストリームとして指定された名前付きリソースを追加し、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
追加するリソースの名前。
- closeAfterWrite
- Boolean
Generate() メソッドが呼び出された後にストリームを閉じる場合は true
。それ以外の場合は false
。
例外
name
または value
が null
です。
この 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 呼び出します。
こちらもご覧ください
適用対象
.NET 9 およびその他のバージョン
製品 | バージョン |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。