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
public ref class PrintPropertyDictionary : System::Collections::Hashtable, IDisposable, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public class PrintPropertyDictionary : System.Collections.Hashtable, IDisposable
public class PrintPropertyDictionary : System.Collections.Hashtable, IDisposable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class PrintPropertyDictionary : System.Collections.Hashtable, IDisposable
type PrintPropertyDictionary = class
    inherit Hashtable
    interface IDisposable
    interface IDeserializationCallback
    interface ISerializable
[<System.Serializable>]
type PrintPropertyDictionary = class
    inherit Hashtable
    interface ISerializable
    interface IDeserializationCallback
    interface IDisposable
Public Class PrintPropertyDictionary
Inherits Hashtable
Implements IDisposable
Public Class PrintPropertyDictionary
Inherits Hashtable
Implements IDeserializationCallback, IDisposable, ISerializable
Наследование
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 и предоставляет его с указанными объектами с SerializationInfo и StreamingContext.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 в экземпляр класса одномерного массива 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 данными, которые необходимы для сериализации словаря 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)

Сравнивает указанный объект класса Object с указанным ключом, который содержится в коллекции Hashtable.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 и вызывает событие десериализации при завершении десериализации.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)

Преобразовывает коллекцию IEnumerable в объект IQueryable.Converts an IEnumerable to an IQueryable.

Применяется к