PrintPropertyDictionary 클래스

정의

System.Printing 네임스페이스의 개체와 연관된 속성 및 값의 컬렉션을 나타냅니다.Represents a collection of properties and values that are associated with an object in the System.Printing namespace.

public ref class PrintPropertyDictionary : System::Collections::Hashtable, IDisposable
[System.Serializable]
public class PrintPropertyDictionary : System.Collections.Hashtable, IDisposable
type PrintPropertyDictionary = class
    inherit Hashtable
    interface ISerializable
    interface IDeserializationCallback
    interface IDisposable
Public Class PrintPropertyDictionary
Inherits Hashtable
Implements IDisposable
상속
PrintPropertyDictionary
특성
구현

예제

다음 예제에서는 기존 프린터 위치, 포트 및 공유 상태에만 해당 속성에 다른 두 번째 프린터를 설치 하려면이 클래스를 사용 하는 방법을 보여 줍니다.The following example shows how to use this class to install a second printer that differs in its properties from an existing printer only in location, port, and shared status.

LocalPrintServer myLocalPrintServer = new LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer);
PrintQueue sourcePrintQueue = myLocalPrintServer.DefaultPrintQueue;
PrintPropertyDictionary myPrintProperties = sourcePrintQueue.PropertiesCollection;

// Share the new printer using Remove/Add methods
PrintBooleanProperty shared = new PrintBooleanProperty("IsShared", true);
myPrintProperties.Remove("IsShared");
myPrintProperties.Add("IsShared", shared);

// Give the new printer its share name using SetProperty method
PrintStringProperty theShareName = new PrintStringProperty("ShareName", "\"Son of " + sourcePrintQueue.Name +"\"");
myPrintProperties.SetProperty("ShareName", theShareName);

// Specify the physical location of the new printer using Remove/Add methods
PrintStringProperty theLocation = new PrintStringProperty("Location", "the supply room");
myPrintProperties.Remove("Location");
myPrintProperties.Add("Location", theLocation);

// Specify the port for the new printer
String[] port = new String[] { "COM1:" };


// Install the new printer on the local print server
PrintQueue clonedPrinter = myLocalPrintServer.InstallPrintQueue("My clone of " + sourcePrintQueue.Name, "Xerox WCP 35 PS", port, "WinPrint", myPrintProperties);
myLocalPrintServer.Commit();

// Report outcome
Console.WriteLine("{0} in {1} has been installed and shared as {2}", clonedPrinter.Name, clonedPrinter.Location, clonedPrinter.ShareName);
Console.WriteLine("Press Return to continue ...");
Console.ReadLine();
Dim myLocalPrintServer As New LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer)
Dim sourcePrintQueue As PrintQueue = myLocalPrintServer.DefaultPrintQueue
Dim myPrintProperties As PrintPropertyDictionary = sourcePrintQueue.PropertiesCollection

' Share the new printer using Remove/Add methods
Dim [shared] As New PrintBooleanProperty("IsShared", True)
myPrintProperties.Remove("IsShared")
myPrintProperties.Add("IsShared", [shared])

' Give the new printer its share name using SetProperty method
Dim theShareName As New PrintStringProperty("ShareName", """Son of " & sourcePrintQueue.Name & """")
myPrintProperties.SetProperty("ShareName", theShareName)

' Specify the physical location of the new printer using Remove/Add methods
Dim theLocation As New PrintStringProperty("Location", "the supply room")
myPrintProperties.Remove("Location")
myPrintProperties.Add("Location", theLocation)

' Specify the port for the new printer
Dim port() As String = { "COM1:" }


' Install the new printer on the local print server
Dim clonedPrinter As PrintQueue = myLocalPrintServer.InstallPrintQueue("My clone of " & sourcePrintQueue.Name, "Xerox WCP 35 PS", port, "WinPrint", myPrintProperties)
myLocalPrintServer.Commit()

' Report outcome
Console.WriteLine("{0} in {1} has been installed and shared as {2}", clonedPrinter.Name, clonedPrinter.Location, clonedPrinter.ShareName)
Console.WriteLine("Press Return to continue ...")
Console.ReadLine()

다음 예제에서는 리플렉션을 사용 하지 않고 런타임에 속성 및 인쇄 시스템 개체의 해당 속성의 형식을 검색 하려면이 클래스를 사용 하는 방법을 보여 줍니다.The following example shows how to use this class to discover at run time the properties, and the types of those properties, of a print system object, without using reflection.


// Enumerate the properties, and their types, of a queue without using Reflection
LocalPrintServer localPrintServer = new LocalPrintServer();
PrintQueue defaultPrintQueue = LocalPrintServer.GetDefaultPrintQueue();

PrintPropertyDictionary printQueueProperties = defaultPrintQueue.PropertiesCollection;

Console.WriteLine("These are the properties, and their types, of {0}, a {1}", defaultPrintQueue.Name, defaultPrintQueue.GetType().ToString() +"\n");

foreach (DictionaryEntry entry in printQueueProperties)
{
    PrintProperty property = (PrintProperty)entry.Value;

    if (property.Value != null)
    {
        Console.WriteLine(property.Name + "\t(Type: {0})", property.Value.GetType().ToString());
    }
}
Console.WriteLine("\n\nPress Return to continue...");
Console.ReadLine();


' Enumerate the properties, and their types, of a queue without using Reflection
Dim localPrintServer As New LocalPrintServer()
Dim defaultPrintQueue As PrintQueue = LocalPrintServer.GetDefaultPrintQueue()

Dim printQueueProperties As PrintPropertyDictionary = defaultPrintQueue.PropertiesCollection

Console.WriteLine("These are the properties, and their types, of {0}, a {1}", defaultPrintQueue.Name, defaultPrintQueue.GetType().ToString() + vbLf)

For Each entry As DictionaryEntry In printQueueProperties
    Dim [property] As PrintProperty = CType(entry.Value, PrintProperty)

    If [property].Value IsNot Nothing Then
        Console.WriteLine([property].Name & vbTab & "(Type: {0})", [property].Value.GetType().ToString())
    End If
Next entry
Console.WriteLine(vbLf & vbLf & "Press Return to continue...")
Console.ReadLine()

설명

컬렉션 형태는 Hashtable 사전입니다.The collection takes the form of a Hashtable dictionary. Value 속성을 각각 DictionaryEntry 컬렉션에서 파생 된 클래스의 인스턴스는 PrintProperty합니다.The Value property of each DictionaryEntry in the collection is an instance of a class that is derived from PrintProperty.

생성자

PrintPropertyDictionary()

PrintPropertyDictionary 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the PrintPropertyDictionary class.

PrintPropertyDictionary(SerializationInfo, StreamingContext)

PrintPropertyDictionary 클래스의 새 인스턴스를 초기화하고 여기에 지정된 SerializationInfoStreamingContext를 제공합니다.Initializes a new instance of the PrintPropertyDictionary class and provides it with the specified SerializationInfo and StreamingContext.

속성

comparer

IComparer에 사용할 Hashtable를 가져오거나 설정합니다.Gets or sets the IComparer to use for the Hashtable.

(다음에서 상속됨 Hashtable)
Count

Hashtable에 포함된 키/값 쌍의 수를 가져옵니다.Gets the number of key/value pairs contained in the Hashtable.

(다음에서 상속됨 Hashtable)
EqualityComparer

IEqualityComparer에 사용할 Hashtable를 가져옵니다.Gets the IEqualityComparer to use for the Hashtable.

(다음에서 상속됨 Hashtable)
hcp

해시 코드를 분배할 수 있는 개체를 가져오거나 설정합니다.Gets or sets the object that can dispense hash codes.

(다음에서 상속됨 Hashtable)
IsFixedSize

Hashtable의 크기가 고정되어 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the Hashtable has a fixed size.

(다음에서 상속됨 Hashtable)
IsReadOnly

Hashtable가 읽기 전용인지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the Hashtable is read-only.

(다음에서 상속됨 Hashtable)
IsSynchronized

Hashtable에 대한 액세스가 동기화되어 스레드로부터 안전하게 보호되는지를 나타내는 값을 가져옵니다.Gets a value indicating whether access to the Hashtable is synchronized (thread safe).

(다음에서 상속됨 Hashtable)
Item[Object]

지정된 키에 연결된 값을 가져오거나 설정합니다.Gets or sets the value associated with the specified key.

(다음에서 상속됨 Hashtable)
Keys

ICollection의 키를 포함하는 Hashtable을 가져옵니다.Gets an ICollection containing the keys in the Hashtable.

(다음에서 상속됨 Hashtable)
SyncRoot

Hashtable에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다.Gets an object that can be used to synchronize access to the Hashtable.

(다음에서 상속됨 Hashtable)
Values

ICollection의 값이 들어 있는 Hashtable을 가져옵니다.Gets an ICollection containing the values in the Hashtable.

(다음에서 상속됨 Hashtable)

메서드

Add(Object, Object)

지정한 키와 값을 가지는 요소를 Hashtable에 추가합니다.Adds an element with the specified key and value into the Hashtable.

(다음에서 상속됨 Hashtable)
Add(PrintProperty)

PrintProperty에서 파생되는 클래스의 개체 중 지정된 개체를 사전에 추가합니다.Adds the specified object (of a class that is derived from PrintProperty) into the dictionary.

Clear()

Hashtable에서 요소를 모두 제거합니다.Removes all elements from the Hashtable.

(다음에서 상속됨 Hashtable)
Clone()

Hashtable의 부분 복사본을 만듭니다.Creates a shallow copy of the Hashtable.

(다음에서 상속됨 Hashtable)
Contains(Object)

Hashtable에 특정 키가 들어 있는지 여부를 확인합니다.Determines whether the Hashtable contains a specific key.

(다음에서 상속됨 Hashtable)
ContainsKey(Object)

Hashtable에 특정 키가 들어 있는지 여부를 확인합니다.Determines whether the Hashtable contains a specific key.

(다음에서 상속됨 Hashtable)
ContainsValue(Object)

Hashtable에 특정 값이 들어 있는지 여부를 확인합니다.Determines whether the Hashtable contains a specific value.

(다음에서 상속됨 Hashtable)
CopyTo(Array, Int32)

Hashtable 요소를 지정한 인덱스의 1차원 Array 인스턴스에 복사합니다.Copies the Hashtable elements to a one-dimensional Array instance at the specified index.

(다음에서 상속됨 Hashtable)
Dispose()

PrintPropertyDictionary에서 사용하는 모든 리소스를 해제합니다.Releases all the resources that are being used by the PrintPropertyDictionary.

Dispose(Boolean)

PrintPropertyDictionary에서 사용하는 관리되지 않는 리소스를 해제하고 관리되는 리소스를 선택적으로 해제합니다.Releases the unmanaged resources that are being used by the PrintPropertyDictionary and optionally releases the managed resources.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetEnumerator()

IDictionaryEnumerator를 반복하는 Hashtable를 반환합니다.Returns an IDictionaryEnumerator that iterates through the Hashtable.

(다음에서 상속됨 Hashtable)
GetHash(Object)

지정한 키의 해시 코드를 반환합니다.Returns the hash code for the specified key.

(다음에서 상속됨 Hashtable)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetObjectData(SerializationInfo, StreamingContext)

SerializationInfo를 serialize하는 데 필요한 데이터로 PrintPropertyDictionary를 채웁니다.Populates a SerializationInfo with the data that is needed to serialize the PrintPropertyDictionary.

GetProperty(String)

PrintProperty에서 파생되는 클래스의 개체 중 지정된 속성을 나타내는 개체를 가져옵니다.Gets the object (of a class that is derived from PrintProperty) that represents the specified property.

GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
KeyEquals(Object, Object)

특정 ObjectHashtable의 특정 키와 비교합니다.Compares a specific Object with a specific key in the Hashtable.

(다음에서 상속됨 Hashtable)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
OnDeserialization(Object)

ISerializable 인터페이스를 구현하고, deserialization이 완료되면 deserialization 이벤트를 발생시킵니다.Implements the ISerializable interface and raises the deserialization event when the deserialization is complete.

Remove(Object)

Hashtable에서 지정한 키를 가지는 요소를 제거합니다.Removes the element with the specified key from the Hashtable.

(다음에서 상속됨 Hashtable)
SetProperty(String, PrintProperty)

지정된 특성의 값을 PrintProperty에서 파생되는 클래스의 개체로 설정합니다.Sets the value of the specified attribute to an object of a class that is derived from PrintProperty.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IEnumerable.GetEnumerator()

컬렉션을 반복하는 열거자를 반환합니다.Returns an enumerator that iterates through a collection.

(다음에서 상속됨 Hashtable)

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.Converts an IEnumerable to an IQueryable.

적용 대상