다음을 통해 공유


ResourceReader 생성자

정의

ResourceReader 클래스의 새 인스턴스를 초기화합니다.

오버로드

ResourceReader(Stream)

지정된 스트림에 대한 ResourceReader 클래스의 새 인스턴스를 초기화합니다.

ResourceReader(String)

지정된 명명 리소스 파일에 대한 ResourceReader 클래스의 새 인스턴스를 초기화합니다.

설명

>[! 중요] > 신뢰할 수 없는 데이터와 함께 이 개체의 instance 사용하는 것은 보안 위험입니다. 신뢰할 수 있는 데이터로만 이 개체를 사용하세요. 자세한 내용은 모든 입력 유효성 검사를 참조하세요.

ResourceReader(Stream)

Source:
ResourceReader.cs
Source:
ResourceReader.cs
Source:
ResourceReader.cs

지정된 스트림에 대한 ResourceReader 클래스의 새 인스턴스를 초기화합니다.

public:
 ResourceReader(System::IO::Stream ^ stream);
public ResourceReader (System.IO.Stream stream);
[System.Security.SecurityCritical]
public ResourceReader (System.IO.Stream stream);
new System.Resources.ResourceReader : System.IO.Stream -> System.Resources.ResourceReader
[<System.Security.SecurityCritical>]
new System.Resources.ResourceReader : System.IO.Stream -> System.Resources.ResourceReader
Public Sub New (stream As Stream)

매개 변수

stream
Stream

리소스 읽기에 사용되는 입력 스트림입니다.

특성

예외

stream 매개 변수를 읽을 수 없는 경우

stream 매개 변수가 null인 경우

stream에 액세스하는 동안 I/O 오류가 발생한 경우

예제

이 섹션의 예제에서는 명명 된.txt 파일 PatientForm.txt 애플리케이션에서 사용 하는 리소스를 정의 합니다.

Title="Top Pet Animal Clinic"
Label1="Patient Number:"
Label2="Pet Name:"
Label3="Species:"
Label4="Breed:"
Label5="Date of Birth:"
Label6="Age:"
Label7="Owner:"
Label8="Address:"
Label9="Home Phone:"
Label10="Work Phone:"
Label11="Mobile Phone:"

다음 명령을 실행하여 .txt 파일을 .resources 파일로 컴파일할 수 있습니다.

resgen PatientForm.txt

다음 예제에서는 리소스 파일을 애플리케이션의 실행 코드를 포함 하는 어셈블리에 포함 되어 있음을 가정 합니다. 현재 실행 중인 어셈블리에서 라는 PatientForm.resources 리소스 파일을 검색하고 각 리소스의 이름과 값을 표시합니다.

using System;
using System.Collections;
using System.IO;
using System.Reflection;
using System.Resources;

public class Example
{
   public static void Main()
   {
      var assem = typeof(Example).Assembly;
      var fs = assem.GetManifestResourceStream("PatientForm.resources");
      var rr = new ResourceReader(fs);
      IDictionaryEnumerator dict = rr.GetEnumerator();
      int ctr = 0;

      while (dict.MoveNext()) {
         ctr++;
         Console.WriteLine("{0:00}: {1} = {2}", ctr, dict.Key, dict.Value);
      }
      rr.Close();
   }
}
// The example displays the following output:
//       01: Label3 = "Species:"
//       02: Label2 = "Pet Name:"
//       03: Label1 = "Patient Number:"
//       04: Label7 = "Owner:"
//       05: Label6 = "Age:"
//       06: Label5 = "Date of Birth:"
//       07: Label4 = "Breed:"
//       08: Label9 = "Home Phone:"
//       09: Label8 = "Address:"
//       10: Title = "Top Pet Animal Clinic"
//       11: Label10 = "Work Phone:"
//       12: Label11 = "Mobile Phone:"
Imports System.Collections
Imports System.IO
Imports System.Reflection
Imports System.Resources

Module Example
   Public Sub Main()
      Dim assem As Assembly = GetType(Example).Assembly
      Dim fs As Stream = assem.GetManifestResourceStream("PatientForm.resources")
      Dim rr As New ResourceReader(fs)
      Dim dict As IDictionaryEnumerator = rr.GetEnumerator
      Dim ctr As Integer

      Do While dict.MoveNext()
         ctr += 1
         Console.WriteLine("{0:00}: {1} = {2}", ctr, dict.Key, dict.Value)
      Loop

      rr.Close()
   End Sub
End Module
' The example displays the following output:
'       01: Label3 = "Species:"
'       02: Label2 = "Pet Name:"
'       03: Label1 = "Patient Number:"
'       04: Label7 = "Owner:"
'       05: Label6 = "Age:"
'       06: Label5 = "Date of Birth:"
'       07: Label4 = "Breed:"
'       08: Label9 = "Home Phone:"
'       09: Label8 = "Address:"
'       10: Title = "Top Pet Animal Clinic"
'       11: Label10 = "Work Phone:"
'       12: Label11 = "Mobile Phone:"

C# 예제의 이름이 Example.cs인 경우 다음 명령을 사용하여 컴파일할 수 있습니다.

csc Example.cs /res:PatientForm.resources

Visual Basic 예제의 이름이 Example.vb인 경우 다음 명령을 사용하여 컴파일할 수 있습니다.

vbc Example.vb /res:PatientForm.resources

설명

ResourceReader(Stream) 생성자는 독립 실행형 .resources 파일 또는 어셈블리에 포함된 .resources 파일에서 리소스를 검색하는 개체를 인스턴스화 ResourceReader 합니다. 독립 실행형 .resources 파일에서 읽으려면 개체를 Stream 인스턴스화하고 생성자에 전달 ResourceReader(Stream) 합니다. 포함된 .resources 파일에서 읽으려면 .resources 파일의 대/소문자 구분 이름을 가진 메서드를 호출 Assembly.GetManifestResourceStream 하고 반환된 Stream 개체를 ResourceReader(Stream) 생성자에 전달합니다.

중요

신뢰할 수 없는 데이터로 이 개체의 인스턴스를 사용하는 것은 보안상 위험합니다. 신뢰할 수 있는 데이터로만 이 개체를 사용하세요. 자세한 내용은 모든 입력 유효성 검사를 참조하세요.

추가 정보

적용 대상

ResourceReader(String)

Source:
ResourceReader.cs
Source:
ResourceReader.cs
Source:
ResourceReader.cs

지정된 명명 리소스 파일에 대한 ResourceReader 클래스의 새 인스턴스를 초기화합니다.

public:
 ResourceReader(System::String ^ fileName);
public ResourceReader (string fileName);
new System.Resources.ResourceReader : string -> System.Resources.ResourceReader
Public Sub New (fileName As String)

매개 변수

fileName
String

읽을 리소스 파일의 경로와 이름입니다. filename은(는) 대/소문자를 구분하지 않습니다.

예외

fileName 매개 변수가 null인 경우

파일을 찾을 수 없습니다.

I/O 오류가 발생했습니다.

리소스 파일에 잘못된 형식이 있는 경우 예를 들어 파일 길이가 0일 수 있는 경우가 해당됩니다.

예제

이 섹션의 예제에서는 명명 된.txt 파일 PatientForm.txt 애플리케이션에서 사용 하는 리소스를 정의 합니다.

Title="Top Pet Animal Clinic"
Label1="Patient Number:"
Label2="Pet Name:"
Label3="Species:"
Label4="Breed:"
Label5="Date of Birth:"
Label6="Age:"
Label7="Owner:"
Label8="Address:"
Label9="Home Phone:"
Label10="Work Phone:"
Label11="Mobile Phone:"

다음 명령을 실행하여 이 .txt 파일을 .resources 파일로 컴파일할 수 있습니다.

resgen PatientForm.txt

다음 예제에서는 의 리소스를 열거하고 각 리소스 PatientForm.resources 의 이름과 값을 표시합니다.

using System;
using System.Collections;
using System.Resources;

public class Example
{
   public static void Main()
   {
      var rr = new ResourceReader("PatientForm.resources");
      IDictionaryEnumerator dict = rr.GetEnumerator();
      int ctr = 0;

      while (dict.MoveNext()) {
         ctr++;
         Console.WriteLine("{0:00}: {1} = {2}", ctr, dict.Key, dict.Value);
      }

      rr.Close();
   }
}
// The example displays the following output:
//       01: Label3 = "Species:"
//       02: Label2 = "Pet Name:"
//       03: Label1 = "Patient Number:"
//       04: Label7 = "Owner:"
//       05: Label6 = "Age:"
//       06: Label5 = "Date of Birth:"
//       07: Label4 = "Breed:"
//       08: Label9 = "Home Phone:"
//       09: Label8 = "Address:"
//       10: Title = "Top Pet Animal Clinic"
//       11: Label10 = "Work Phone:"
//       12: Label11 = "Mobile Phone:"
Imports System.Collections
Imports System.Resources

Module Example
   Public Sub Main()
      Dim rr As New ResourceReader("PatientForm.resources")
      Dim dict As IDictionaryEnumerator = rr.GetEnumerator
      Dim ctr As Integer

      Do While dict.MoveNext()
         ctr += 1
         Console.WriteLine("{0:00}: {1} = {2}", ctr, dict.Key, dict.Value)
      Loop
      
      rr.Close()
   End Sub
End Module
' The example displays the following output:
'       01: Label3 = "Species:"
'       02: Label2 = "Pet Name:"
'       03: Label1 = "Patient Number:"
'       04: Label7 = "Owner:"
'       05: Label6 = "Age:"
'       06: Label5 = "Date of Birth:"
'       07: Label4 = "Breed:"
'       08: Label9 = "Home Phone:"
'       09: Label8 = "Address:"
'       10: Title = "Top Pet Animal Clinic"
'       11: Label10 = "Work Phone:"
'       12: Label11 = "Mobile Phone:"

설명

ResourceReader(String) 생성자는 독립 실행형 .resources 파일에서 리소스를 검색하는 개체를 인스턴스화 ResourceReader 합니다. 포함된 .resources 파일에서 리소스를 검색하려면 생성자를 ResourceReader(Stream) 사용합니다.

중요

신뢰할 수 없는 데이터로 이 개체의 인스턴스를 사용하는 것은 보안상 위험합니다. 신뢰할 수 있는 데이터로만 이 개체를 사용하세요. 자세한 내용은 모든 입력 유효성 검사를 참조하세요.

적용 대상