Freigeben über


PrintPropertyDictionary Klasse

Definition

Stellt eine Auflistung von Eigenschaften und Werten dar, die einem Objekt im System.Printing-Namespace zugeordnet sind.

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
Vererbung
PrintPropertyDictionary
Attribute
Implementiert

Beispiele

Das folgende Beispiel zeigt, wie Sie diese Klasse verwenden, um einen zweiten Drucker zu installieren, der sich in seinen Eigenschaften von einem vorhandenen Drucker nur am Standort, am Port und im freigegebenen status unterscheidet.

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

Das folgende Beispiel zeigt, wie Sie diese Klasse verwenden, um zur Laufzeit die Eigenschaften und die Typen dieser Eigenschaften eines Drucksystemobjekts ohne Reflektion zu ermitteln.


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

Hinweise

Die Auflistung hat die Form eines Hashtable Wörterbuchs. Die Value -Eigenschaft jeder DictionaryEntry in der Auflistung ist eine instance einer Klasse, die von PrintPropertyabgeleitet wird.

Konstruktoren

PrintPropertyDictionary()

Initialisiert eine neue Instanz der PrintPropertyDictionary-Klasse.

PrintPropertyDictionary(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der PrintPropertyDictionary-Klasse und stellt sie mit den angegebenen SerializationInfo und dem angegebenen StreamingContext bereit.

Eigenschaften

comparer
Veraltet.
Veraltet.

Ruft den für die IComparer zu verwendenden Hashtable ab oder legt diesen fest.

(Geerbt von Hashtable)
Count

Ruft die Anzahl der Schlüssel-Wert-Paare im Hashtable ab.

(Geerbt von Hashtable)
EqualityComparer

Ruft den IEqualityComparer ab, der für die Hashtable verwendet werden soll.

(Geerbt von Hashtable)
hcp
Veraltet.
Veraltet.

Ruft das Objekt ab, das Hashcodes verteilen kann, oder legt dieses fest.

(Geerbt von Hashtable)
IsFixedSize

Ruft einen Wert ab, der angibt, ob das Hashtable eine feste Größe aufweist.

(Geerbt von Hashtable)
IsReadOnly

Ruft einen Wert ab, der angibt, ob das Hashtable schreibgeschützt ist.

(Geerbt von Hashtable)
IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die Hashtable synchronisiert (threadsicher) ist.

(Geerbt von Hashtable)
Item[Object]

Ruft den Wert ab, der dem angegebenen Schlüssel zugeordnet ist, oder legt diesen fest.

(Geerbt von Hashtable)
Keys

Ruft eine ICollection ab, die die Schlüssel in der Hashtable enthält.

(Geerbt von Hashtable)
SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf Hashtable synchronisiert werden kann.

(Geerbt von Hashtable)
Values

Ruft eine ICollection ab, die die Werte im Hashtable enthält.

(Geerbt von Hashtable)

Methoden

Add(Object, Object)

Fügt dem Hashtable ein Element mit dem angegebenen Schlüssel und Wert hinzu.

(Geerbt von Hashtable)
Add(PrintProperty)

Fügt dem Wörterbuch das angegebene Objekt (aus einer Klasse, die von der PrintProperty abgeleitet ist) hinzu.

Clear()

Entfernt alle Elemente aus der Hashtable.

(Geerbt von Hashtable)
Clone()

Erstellt eine flache Kopie von Hashtable.

(Geerbt von Hashtable)
Contains(Object)

Stellt fest, ob der Hashtable einen bestimmten Schlüssel enthält.

(Geerbt von Hashtable)
ContainsKey(Object)

Stellt fest, ob der Hashtable einen bestimmten Schlüssel enthält.

(Geerbt von Hashtable)
ContainsValue(Object)

Ermittelt, ob die Hashtable einen bestimmten Wert enthält.

(Geerbt von Hashtable)
CopyTo(Array, Int32)

Kopiert die Hashtable-Elemente an den angegebenen Index in einer eindimensionalen Array-Instanz.

(Geerbt von Hashtable)
Dispose()

Gibt alle vom PrintPropertyDictionary verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die vom PrintPropertyDictionary verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEnumerator()

Gibt einen IDictionaryEnumerator zurück, der Hashtable durchläuft.

(Geerbt von Hashtable)
GetHash(Object)

Gibt den Hashcode für den angegebenen Schlüssel zurück.

(Geerbt von Hashtable)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)

Füllt eine SerializationInfo mit den zum Serialisieren des PrintPropertyDictionary erforderlichen Daten.

GetProperty(String)

Ruft das Objekt (aus einer Klasse, die von der PrintProperty abgeleitet ist) ab, das die angegebene Eigenschaft darstellt.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
KeyEquals(Object, Object)

Vergleicht ein bestimmtes Object mit einem bestimmten Schlüssel in Hashtable.

(Geerbt von Hashtable)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnDeserialization(Object)

Implementiert die ISerializable-Schnittstelle und löst das Deserialisierungsereignis aus, sobald die Deserialisierung abgeschlossen ist.

Remove(Object)

Entfernt das Element mit dem angegebenen Schlüssel aus dem Hashtable.

(Geerbt von Hashtable)
SetProperty(String, PrintProperty)

Legt den Wert des angegebenen Attributs auf ein Objekt einer Klasse fest, die von der PrintProperty abgeleitet ist.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IEnumerable.GetEnumerator()

Gibt einen Enumerator zurück, der eine Auflistung durchläuft.

(Geerbt von Hashtable)

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für: