PrintPropertyDictionary Klasa

Definicja

Reprezentuje kolekcję właściwości i wartości, które są skojarzone z obiektem w przestrzeni nazw 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 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
Dziedziczenie
PrintPropertyDictionary
Atrybuty
Implementuje

Przykłady

Poniższy przykład pokazuje, jak za pomocą tej klasy zainstalować drugą drukarkę, która różni się w swoich właściwościach z istniejącej drukarki tylko w lokalizacji, porcie i stanie udostępnionym.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()

Poniższy przykład pokazuje, jak używać tej klasy do odnajdowania w czasie wykonywania właściwości i typów tych właściwości, obiektu systemowego drukowania bez odbicia.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()

Uwagi

Kolekcja przyjmuje postać słownika Hashtable.The collection takes the form of a Hashtable dictionary. Właściwość Value każdego DictionaryEntry w kolekcji jest wystąpieniem klasy, która pochodzi od PrintProperty.The Value property of each DictionaryEntry in the collection is an instance of a class that is derived from PrintProperty.

Konstruktory

PrintPropertyDictionary()

Inicjuje nowe wystąpienie klasy PrintPropertyDictionary klasy.Initializes a new instance of the PrintPropertyDictionary class.

PrintPropertyDictionary(SerializationInfo, StreamingContext)

Inicjuje nowe wystąpienie klasy PrintPropertyDictionary i udostępnia je określonym SerializationInfo i StreamingContext.Initializes a new instance of the PrintPropertyDictionary class and provides it with the specified SerializationInfo and StreamingContext.

Właściwości

comparer

Pobiera lub ustawia IComparer do użycia dla Hashtable.Gets or sets the IComparer to use for the Hashtable.

(Odziedziczone po Hashtable)
Count

Pobiera liczbę par klucz/wartość zawartych w Hashtable.Gets the number of key/value pairs contained in the Hashtable.

(Odziedziczone po Hashtable)
EqualityComparer

Pobiera IEqualityComparer do użycia dla Hashtable.Gets the IEqualityComparer to use for the Hashtable.

(Odziedziczone po Hashtable)
hcp

Pobiera lub ustawia obiekt, który może odnieść kody skrótów.Gets or sets the object that can dispense hash codes.

(Odziedziczone po Hashtable)
IsFixedSize

Pobiera wartość wskazującą, czy Hashtable ma stały rozmiar.Gets a value indicating whether the Hashtable has a fixed size.

(Odziedziczone po Hashtable)
IsReadOnly

Pobiera wartość wskazującą, czy kolekcja Hashtable jest przeznaczona tylko do odczytu.Gets a value indicating whether the Hashtable is read-only.

(Odziedziczone po Hashtable)
IsSynchronized

Pobiera wartość wskazującą, czy dostęp do Hashtable jest synchronizowany (bezpieczny wątkowo).Gets a value indicating whether access to the Hashtable is synchronized (thread safe).

(Odziedziczone po Hashtable)
Item[Object]

Pobiera lub ustawia wartość skojarzoną z określonym kluczem.Gets or sets the value associated with the specified key.

(Odziedziczone po Hashtable)
Keys

Pobiera ICollection zawierający klucze z Hashtable.Gets an ICollection containing the keys in the Hashtable.

(Odziedziczone po Hashtable)
SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do Hashtable.Gets an object that can be used to synchronize access to the Hashtable.

(Odziedziczone po Hashtable)
Values

Pobiera ICollection zawierający wartości z Hashtable.Gets an ICollection containing the values in the Hashtable.

(Odziedziczone po Hashtable)

Metody

Add(Object, Object)

Dodaje element z określonym kluczem i wartością do Hashtable.Adds an element with the specified key and value into the Hashtable.

(Odziedziczone po Hashtable)
Add(PrintProperty)

Dodaje określony obiekt (klasy, która jest pochodną PrintProperty) do słownika.Adds the specified object (of a class that is derived from PrintProperty) into the dictionary.

Clear()

Usuwa wszystkie elementy z obiektu Hashtable.Removes all elements from the Hashtable.

(Odziedziczone po Hashtable)
Clone()

Tworzy skróconą kopię Hashtable.Creates a shallow copy of the Hashtable.

(Odziedziczone po Hashtable)
Contains(Object)

Określa, czy słownik Hashtable zawiera określony klucz.Determines whether the Hashtable contains a specific key.

(Odziedziczone po Hashtable)
ContainsKey(Object)

Określa, czy słownik Hashtable zawiera określony klucz.Determines whether the Hashtable contains a specific key.

(Odziedziczone po Hashtable)
ContainsValue(Object)

Określa, czy Hashtable zawiera konkretną wartość.Determines whether the Hashtable contains a specific value.

(Odziedziczone po Hashtable)
CopyTo(Array, Int32)

Kopiuje Hashtable elementy do jednowymiarowego wystąpienia Array o określonym indeksie.Copies the Hashtable elements to a one-dimensional Array instance at the specified index.

(Odziedziczone po Hashtable)
Dispose()

Zwalnia wszystkie zasoby, które są używane przez PrintPropertyDictionary.Releases all the resources that are being used by the PrintPropertyDictionary.

Dispose(Boolean)

Zwalnia niezarządzane zasoby, które są używane przez PrintPropertyDictionary i opcjonalnie zwalnia zarządzane zasoby.Releases the unmanaged resources that are being used by the PrintPropertyDictionary and optionally releases the managed resources.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetEnumerator()

Zwraca IDictionaryEnumerator, która iteruje przez Hashtable.Returns an IDictionaryEnumerator that iterates through the Hashtable.

(Odziedziczone po Hashtable)
GetHash(Object)

Zwraca kod skrótu dla określonego klucza.Returns the hash code for the specified key.

(Odziedziczone po Hashtable)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetObjectData(SerializationInfo, StreamingContext)

Wypełnia SerializationInfo danymi, które są konieczne do serializacji PrintPropertyDictionary.Populates a SerializationInfo with the data that is needed to serialize the PrintPropertyDictionary.

GetProperty(String)

Pobiera obiekt (klasy, która jest pochodną PrintProperty) reprezentującą określoną właściwość.Gets the object (of a class that is derived from PrintProperty) that represents the specified property.

GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
KeyEquals(Object, Object)

Porównuje konkretną Object z określonym kluczem w Hashtable.Compares a specific Object with a specific key in the Hashtable.

(Odziedziczone po Hashtable)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
OnDeserialization(Object)

Implementuje interfejs ISerializable i wywołuje zdarzenie deserializacji po zakończeniu deserializacji.Implements the ISerializable interface and raises the deserialization event when the deserialization is complete.

Remove(Object)

Usuwa element z określonym kluczem z Hashtable.Removes the element with the specified key from the Hashtable.

(Odziedziczone po Hashtable)
SetProperty(String, PrintProperty)

Ustawia wartość określonego atrybutu dla obiektu klasy, która jest pochodną PrintProperty.Sets the value of the specified attribute to an object of a class that is derived from PrintProperty.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IEnumerable.GetEnumerator()

Zwraca moduł wyliczający, który iteruje po kolekcji.Returns an enumerator that iterates through a collection.

(Odziedziczone po Hashtable)

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy IEnumerable określonego typu.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable w oparciu o określony typ.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Włącza przetwarzanie równoległe zapytania.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konwertuje IEnumerable na IQueryable.Converts an IEnumerable to an IQueryable.

Dotyczy