PrintPropertyDictionary PrintPropertyDictionary PrintPropertyDictionary PrintPropertyDictionary Class

Definición

Representa una colección de propiedades y valores que están asociados a un objeto del espacio de nombres 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
Herencia
PrintPropertyDictionaryPrintPropertyDictionaryPrintPropertyDictionaryPrintPropertyDictionary
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo utilizar esta clase para instalar una segunda impresora que difiere en sus propiedades de una impresora existente solo en la ubicación, el puerto y el estado compartido.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()

En el ejemplo siguiente se muestra cómo utilizar esta clase para detectar en tiempo de ejecución las propiedades y los tipos de esas propiedades de un objeto del sistema de impresión, sin usar la reflexión.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()

Comentarios

La colección toma la forma de un Hashtable Diccionario.The collection takes the form of a Hashtable dictionary. La Value propiedad de cada DictionaryEntry de la colección es una instancia de una clase que se deriva de PrintProperty.The Value property of each DictionaryEntry in the collection is an instance of a class that is derived from PrintProperty.

Constructores

PrintPropertyDictionary() PrintPropertyDictionary() PrintPropertyDictionary() PrintPropertyDictionary()

Inicializa una nueva instancia de la clase PrintPropertyDictionary.Initializes a new instance of the PrintPropertyDictionary class.

PrintPropertyDictionary(SerializationInfo, StreamingContext) PrintPropertyDictionary(SerializationInfo, StreamingContext) PrintPropertyDictionary(SerializationInfo, StreamingContext) PrintPropertyDictionary(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase PrintPropertyDictionary y le proporciona los valores de SerializationInfo, StreamingContext especificados.Initializes a new instance of the PrintPropertyDictionary class and provides it with the specified SerializationInfo and StreamingContext.

Métodos

Add(Object, Object) Add(Object, Object) Add(Object, Object) Add(Object, Object)

Agrega un elemento con la clave y el valor especificados a Hashtable.Adds an element with the specified key and value into the Hashtable.

(Inherited from Hashtable)
Add(PrintProperty) Add(PrintProperty) Add(PrintProperty) Add(PrintProperty)

Agrega el objeto especificado (de una clase derivada de PrintProperty) al diccionario.Adds the specified object (of a class that is derived from PrintProperty) into the dictionary.

Clear() Clear() Clear() Clear()

Quita todos los elementos de Hashtable.Removes all elements from the Hashtable.

(Inherited from Hashtable)
Clone() Clone() Clone() Clone()

Crea una copia superficial de la colección Hashtable.Creates a shallow copy of the Hashtable.

(Inherited from Hashtable)
Contains(Object) Contains(Object) Contains(Object) Contains(Object)

Determina si Hashtable contiene una clave específica.Determines whether the Hashtable contains a specific key.

(Inherited from Hashtable)
ContainsKey(Object) ContainsKey(Object) ContainsKey(Object) ContainsKey(Object)

Determina si Hashtable contiene una clave específica.Determines whether the Hashtable contains a specific key.

(Inherited from Hashtable)
ContainsValue(Object) ContainsValue(Object) ContainsValue(Object) ContainsValue(Object)

Determina si Hashtable contiene un valor específico.Determines whether the Hashtable contains a specific value.

(Inherited from Hashtable)
CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

Copia los elementos de Hashtable a una instancia unidimensional de Array en el índice especificado.Copies the Hashtable elements to a one-dimensional Array instance at the specified index.

(Inherited from Hashtable)
Dispose() Dispose() Dispose() Dispose()

Libera todos los recursos utilizados por PrintPropertyDictionary.Releases all the resources that are being used by the PrintPropertyDictionary.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libera los recursos no administrados utilizados por PrintPropertyDictionary y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources that are being used by the PrintPropertyDictionary and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Devuelve un objeto IDictionaryEnumerator que itera a través del objeto Hashtable.Returns an IDictionaryEnumerator that iterates through the Hashtable.

(Inherited from Hashtable)
GetHash(Object) GetHash(Object) GetHash(Object) GetHash(Object)

Devuelve el código hash de la clave especificada.Returns the hash code for the specified key.

(Inherited from Hashtable)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Rellena un objeto SerializationInfo con los datos necesarios para serializar PrintPropertyDictionary.Populates a SerializationInfo with the data that is needed to serialize the PrintPropertyDictionary.

GetProperty(String) GetProperty(String) GetProperty(String) GetProperty(String)

Obtiene el objeto (de una clase derivada de PrintProperty) que representa la propiedad especificada.Gets the object (of a class that is derived from PrintProperty) that represents the specified property.

GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
KeyEquals(Object, Object) KeyEquals(Object, Object) KeyEquals(Object, Object) KeyEquals(Object, Object)

Compara un Object específico con una clave concreta en Hashtable.Compares a specific Object with a specific key in the Hashtable.

(Inherited from Hashtable)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
OnDeserialization(Object) OnDeserialization(Object) OnDeserialization(Object) OnDeserialization(Object)

Implementa la interfaz ISerializable y genera el evento de deserialización cuando esta ha finalizado.Implements the ISerializable interface and raises the deserialization event when the deserialization is complete.

Remove(Object) Remove(Object) Remove(Object) Remove(Object)

Quita el elemento con la clave especificada de Hashtable.Removes the element with the specified key from the Hashtable.

(Inherited from Hashtable)
SetProperty(String, PrintProperty) SetProperty(String, PrintProperty) SetProperty(String, PrintProperty) SetProperty(String, PrintProperty)

Establece el valor del atributo especificado en un objeto de una clase derivada de PrintProperty.Sets the value of the specified attribute to an object of a class that is derived from PrintProperty.

ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Propiedades

comparer comparer comparer comparer

Obtiene o establece el IComparer que se utilizará para Hashtable.Gets or sets the IComparer to use for the Hashtable.

(Inherited from Hashtable)
Count Count Count Count

Obtiene el número de pares clave-valor incluidos en Hashtable.Gets the number of key/value pairs contained in the Hashtable.

(Inherited from Hashtable)
EqualityComparer EqualityComparer EqualityComparer EqualityComparer

Obtiene el IEqualityComparer que se va a utilizar para Hashtable.Gets the IEqualityComparer to use for the Hashtable.

(Inherited from Hashtable)
hcp hcp hcp hcp

Obtiene o establece el objeto que puede dispensar códigos hash.Gets or sets the object that can dispense hash codes.

(Inherited from Hashtable)
IsFixedSize IsFixedSize IsFixedSize IsFixedSize

Obtiene un valor que indica si la interfaz Hashtable tiene un tamaño fijo.Gets a value indicating whether the Hashtable has a fixed size.

(Inherited from Hashtable)
IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Obtiene un valor que indica si Hashtable es de solo lectura.Gets a value indicating whether the Hashtable is read-only.

(Inherited from Hashtable)
IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Obtiene un valor que indica si el acceso a la interfaz Hashtable está sincronizado (es seguro para subprocesos).Gets a value indicating whether access to the Hashtable is synchronized (thread safe).

(Inherited from Hashtable)
Item[Object] Item[Object] Item[Object] Item[Object]

Obtiene o establece el valor asociado a la clave especificada.Gets or sets the value associated with the specified key.

(Inherited from Hashtable)
Keys Keys Keys Keys

Obtiene una interfaz ICollection que contiene las claves de Hashtable.Gets an ICollection containing the keys in the Hashtable.

(Inherited from Hashtable)
SyncRoot SyncRoot SyncRoot SyncRoot

Obtiene un objeto que se puede usar para sincronizar el acceso a Hashtable.Gets an object that can be used to synchronize access to the Hashtable.

(Inherited from Hashtable)
Values Values Values Values

Obtiene una interfaz ICollection que contiene los valores de la interfaz Hashtable.Gets an ICollection containing the values in the Hashtable.

(Inherited from Hashtable)

Implementaciones de interfaz explícitas

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Devuelve un enumerador que recorre en iteración una colección.Returns an enumerator that iterates through a collection.

(Inherited from Hashtable)

Métodos de extensión

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Habilita la paralelización de una consulta.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

Se aplica a