Condividi tramite


PrintPropertyDictionary Classe

Definizione

Rappresenta un insieme di proprietà e valori associati a un oggetto nello spazio dei nomi System.Printing.

public ref class PrintPropertyDictionary : System::Collections::Hashtable, IDisposable
public ref class PrintPropertyDictionary : System::Collections::Hashtable, IDisposable, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
[System.Serializable]
public class PrintPropertyDictionary : System.Collections.Hashtable, IDisposable
public class PrintPropertyDictionary : System.Collections.Hashtable, IDisposable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
public class PrintPropertyDictionary : System.Collections.Hashtable, IDisposable
[<System.Serializable>]
type PrintPropertyDictionary = class
    inherit Hashtable
    interface ISerializable
    interface IDeserializationCallback
    interface IDisposable
type PrintPropertyDictionary = class
    inherit Hashtable
    interface IDisposable
    interface IDeserializationCallback
    interface ISerializable
Public Class PrintPropertyDictionary
Inherits Hashtable
Implements IDisposable
Public Class PrintPropertyDictionary
Inherits Hashtable
Implements IDeserializationCallback, IDisposable, ISerializable
Ereditarietà
PrintPropertyDictionary
Attributi
Implementazioni

Esempio

Nell'esempio seguente viene illustrato come utilizzare questa classe per installare una seconda stampante diversa dalle proprietà di una stampante esistente solo in posizione, porta e stato condiviso.

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()

Nell'esempio seguente viene illustrato come utilizzare questa classe per individuare in fase di esecuzione le proprietà e i tipi di tali proprietà, di un oggetto di sistema di stampa, senza utilizzare la 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()

Commenti

La raccolta assume la forma di un Hashtable dizionario. La Value proprietà di ogni DictionaryEntry oggetto dell'insieme è un'istanza di una classe derivata da PrintProperty.

Costruttori

PrintPropertyDictionary()

Inizializza una nuova istanza della classe PrintPropertyDictionary.

PrintPropertyDictionary(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe PrintPropertyDictionary, con gli oggetti SerializationInfo e StreamingContext specificati.

Proprietà

comparer
Obsoleti.
Obsoleti.

Ottiene o imposta l'oggetto IComparer da usare per Hashtable.

(Ereditato da Hashtable)
Count

Ottiene il numero di coppie chiave/valore contenute in Hashtable.

(Ereditato da Hashtable)
EqualityComparer

Ottiene l'interfaccia IEqualityComparer da usare per la classe Hashtable.

(Ereditato da Hashtable)
hcp
Obsoleti.
Obsoleti.

Ottiene o imposta l'oggetto dal quale verranno distribuiti i codici hash.

(Ereditato da Hashtable)
IsFixedSize

Ottiene un valore che indica se Hashtable ha dimensioni fisse.

(Ereditato da Hashtable)
IsReadOnly

Ottiene un valore che indica se Hashtable è di sola lettura.

(Ereditato da Hashtable)
IsSynchronized

Ottiene un valore che indica se l'accesso a Hashtable è sincronizzato (thread-safe).

(Ereditato da Hashtable)
Item[Object]

Ottiene o imposta il valore associato alla chiave specificata.

(Ereditato da Hashtable)
Keys

Ottiene un oggetto ICollection contenente le chiavi presenti nell'oggetto Hashtable.

(Ereditato da Hashtable)
SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso a Hashtable.

(Ereditato da Hashtable)
Values

Ottiene ICollection contenente i valori in Hashtable.

(Ereditato da Hashtable)

Metodi

Add(Object, Object)

Aggiunge un elemento con la chiave e il valore specificati al metodo Hashtable.

(Ereditato da Hashtable)
Add(PrintProperty)

Aggiunge al dizionario l'oggetto (di una classe derivata da PrintProperty) specificato.

Clear()

Rimuove tutti gli elementi da Hashtable.

(Ereditato da Hashtable)
Clone()

Crea una copia superficiale di Hashtable.

(Ereditato da Hashtable)
Contains(Object)

Determina se l'oggetto Hashtable contiene una chiave specifica.

(Ereditato da Hashtable)
ContainsKey(Object)

Determina se l'oggetto Hashtable contiene una chiave specifica.

(Ereditato da Hashtable)
ContainsValue(Object)

Stabilisce se Hashtable contiene un valore specifico.

(Ereditato da Hashtable)
CopyTo(Array, Int32)

Copia gli elementi della classe Hashtable gli elementi della classe Array unidimensionale in corrispondenza dell'indice specificato.

(Ereditato da Hashtable)
Dispose()

Rilascia tutte le risorse utilizzate dall'oggetto PrintPropertyDictionary.

Dispose(Boolean)

Rilascia le risorse non gestite utilizzate dall'oggetto PrintPropertyDictionary ed eventualmente rilascia le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un oggetto IDictionaryEnumerator che esegue l'iterazione di Hashtable.

(Ereditato da Hashtable)
GetHash(Object)

Restituisce il codice hash per la chiave specificata.

(Ereditato da Hashtable)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetObjectData(SerializationInfo, StreamingContext)

Popola un oggetto SerializationInfo con i dati necessari per serializzare l'oggetto PrintPropertyDictionary.

GetProperty(String)

Ottiene l'oggetto (di una classe derivata da PrintProperty) che rappresenta la proprietà specificata.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
KeyEquals(Object, Object)

Confronta un Object specifico con una chiave specifica nella Hashtable.

(Ereditato da Hashtable)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnDeserialization(Object)

Implementa l'interfaccia ISerializable e genera l'evento di deserializzazione quando la deserializzazione è completa.

Remove(Object)

Rimuove l'elemento con la chiave specificata da Hashtable.

(Ereditato da Hashtable)
SetProperty(String, PrintProperty)

Imposta il valore dell'attributo specificato su un oggetto di una classe derivata da PrintProperty.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IEnumerable.GetEnumerator()

Restituisce un enumeratore che consente di eseguire l'iterazione di una raccolta.

(Ereditato da Hashtable)

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a