ResourceWriter.AddResource 메서드

정의

기록할 리소스 목록에 리소스를 추가합니다.

오버로드

AddResource(String, Byte[])

기록할 리소스 목록에 바이트 배열로 지정된 명명된 리소스를 추가합니다.

AddResource(String, Stream)

기록할 리소스 목록에 스트림으로 지정된 명명된 리소스를 추가합니다.

AddResource(String, Object)

기록할 리소스 목록에 개체로 지정된 명명된 리소스를 추가합니다.

AddResource(String, String)

기록할 리소스 목록에 문자열 리소스를 추가합니다.

AddResource(String, Stream, Boolean)

기록할 리소스 목록에 스트림으로 지정된 명명된 리소스를 추가하고 Generate() 메서드를 호출한 후 해당 스트림을 닫을지 여부를 지정합니다.

AddResource(String, Byte[])

기록할 리소스 목록에 바이트 배열로 지정된 명명된 리소스를 추가합니다.

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)

기록할 리소스 목록에 스트림으로 지정된 명명된 리소스를 추가합니다.

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)

기록할 리소스 목록에 개체로 지정된 명명된 리소스를 추가합니다.

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는 serialize할 수 있어야 합니다.

메서드가 호출될 때까지 리소스가 Generate 작성되지 않습니다.

메서드를 호출하여 메서드에서 작성한 리소스를 AddResource(String, Object) 검색할 ResourceManager.GetObject 수 있습니다.

추가 정보

적용 대상

AddResource(String, String)

기록할 리소스 목록에 문자열 리소스를 추가합니다.

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)

기록할 리소스 목록에 스트림으로 지정된 명명된 리소스를 추가하고 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 수 있습니다.

추가 정보

적용 대상