PrintPropertyDictionary Klass

Definition

Representerar en samling egenskaper och värden som är associerade med ett objekt i System.Printing namnområdet.

public ref class PrintPropertyDictionary : System::Collections::Hashtable, IDisposable
[System.Serializable]
public class PrintPropertyDictionary : System.Collections.Hashtable, IDisposable
[<System.Serializable>]
type PrintPropertyDictionary = class
    inherit Hashtable
    interface ISerializable
    interface IDeserializationCallback
    interface IDisposable
Public Class PrintPropertyDictionary
Inherits Hashtable
Implements IDisposable
Arv
PrintPropertyDictionary
Attribut
Implementeringar

Exempel

I följande exempel visas hur du använder den här klassen för att installera en andra skrivare som skiljer sig i dess egenskaper från en befintlig skrivare endast på plats, port och delad 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()

I följande exempel visas hur du använder den här klassen för att identifiera egenskaperna och typerna av dessa egenskaper för ett utskriftssystemobjekt vid körning utan att använda reflektion.


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

Kommentarer

Samlingen har formen av en Hashtable ordlista. Egenskapen Value för var och DictionaryEntry en i samlingen är en instans av en klass som härleds från PrintProperty.

Konstruktorer

Name Description
PrintPropertyDictionary()

Initierar en ny instans av PrintPropertyDictionary klassen.

PrintPropertyDictionary(SerializationInfo, StreamingContext)

Initierar en ny instans av PrintPropertyDictionary klassen och ger den angiven SerializationInfo och StreamingContext.

Egenskaper

Name Description
comparer
Föråldrad.

Hämtar eller ställer in som IComparer ska användas för Hashtable.

(Ärvd från Hashtable)
Count

Hämtar antalet nyckel/värde-par som finns i Hashtable.

(Ärvd från Hashtable)
EqualityComparer

Hämtar användning IEqualityComparer för Hashtable.

(Ärvd från Hashtable)
hcp
Föråldrad.

Hämtar eller anger det objekt som kan dela ut hash-koder.

(Ärvd från Hashtable)
IsFixedSize

Hämtar ett värde som anger om har Hashtable en fast storlek.

(Ärvd från Hashtable)
IsReadOnly

Hämtar ett värde som anger om är Hashtable skrivskyddat.

(Ärvd från Hashtable)
IsSynchronized

Hämtar ett värde som anger om åtkomsten Hashtable till är synkroniserad (trådsäker).

(Ärvd från Hashtable)
Item[Object]

Hämtar eller anger värdet som är associerat med den angivna nyckeln.

(Ärvd från Hashtable)
Keys

Hämtar en ICollection som innehåller nycklarna i Hashtable.

(Ärvd från Hashtable)
SyncRoot

Hämtar ett objekt som kan användas för att synkronisera åtkomsten Hashtabletill .

(Ärvd från Hashtable)
Values

Hämtar en ICollection som innehåller värdena i Hashtable.

(Ärvd från Hashtable)

Metoder

Name Description
Add(Object, Object)

Lägger till ett element med den angivna nyckeln och värdet i Hashtable.

(Ärvd från Hashtable)
Add(PrintProperty)

Lägger till det angivna objektet (för en klass som härleds från PrintProperty) i ordlistan.

Clear()

Tar bort alla element från Hashtable.

(Ärvd från Hashtable)
Clone()

Skapar en ytlig kopia av Hashtable.

(Ärvd från Hashtable)
Contains(Object)

Avgör om innehåller Hashtable en specifik nyckel.

(Ärvd från Hashtable)
ContainsKey(Object)

Avgör om innehåller Hashtable en specifik nyckel.

(Ärvd från Hashtable)
ContainsValue(Object)

Avgör om innehåller Hashtable ett specifikt värde.

(Ärvd från Hashtable)
CopyTo(Array, Int32)

Kopierar elementen Hashtable till en endimensionell Array instans vid det angivna indexet.

(Ärvd från Hashtable)
Dispose()

Släpper alla resurser som används av PrintPropertyDictionary.

Dispose(Boolean)

Släpper de ohanterade resurser som används av PrintPropertyDictionary och släpper eventuellt de hanterade resurserna.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetEnumerator()

Returnerar en IDictionaryEnumerator som itererar via Hashtable.

(Ärvd från Hashtable)
GetHash(Object)

Returnerar hash-koden för den angivna nyckeln.

(Ärvd från Hashtable)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetObjectData(SerializationInfo, StreamingContext)

Fyller i en SerializationInfo med de data som behövs för att serialisera PrintPropertyDictionary.

GetProperty(String)

Hämtar objektet (för en klass som härleds från PrintProperty) som representerar den angivna egenskapen.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
KeyEquals(Object, Object)

Jämför en specifik Object med en specifik nyckel i Hashtable.

(Ärvd från Hashtable)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
OnDeserialization(Object)

Implementerar ISerializable gränssnittet och höjer deserialiseringshändelsen när deserialiseringen är klar.

Remove(Object)

Tar bort elementet med den angivna nyckeln från Hashtable.

(Ärvd från Hashtable)
SetProperty(String, PrintProperty)

Anger värdet för det angivna attributet till ett objekt i en klass som härleds från PrintProperty.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
IEnumerable.GetEnumerator()

Returnerar en uppräknare som itererar genom en samling.

(Ärvd från Hashtable)

Tilläggsmetoder

Name Description
AsParallel(IEnumerable)

Möjliggör parallellisering av en fråga.

AsQueryable(IEnumerable)

Konverterar en IEnumerable till en IQueryable.

Cast<TResult>(IEnumerable)

Omvandlar elementen i en IEnumerable till den angivna typen.

OfType<TResult>(IEnumerable)

Filtrerar elementen i en IEnumerable baserat på en angiven typ.

Gäller för