War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
UriTemplateEquivalenceComparer-Klasse
Collapse the table of content
Expand the table of content
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

UriTemplateEquivalenceComparer-Klasse

Eine Klasse, mit der UriTemplate-Instanzen hinsichtlich ihrer Strukturgleichheit (anstelle ihrer Verweisgleichheit) verglichen werden.

System.Object
  System.UriTemplateEquivalenceComparer

Namespace:  System
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public class UriTemplateEquivalenceComparer : IEqualityComparer<UriTemplate>

Der UriTemplateEquivalenceComparer-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeUriTemplateEquivalenceComparerInitialisiert eine neue Instanz der UriTemplateEquivalenceComparer-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeEquals(UriTemplate, UriTemplate)Vergleicht zwei UriTemplate-Instanzen hinsichtlich ihrer Gleichheit.
Geschützte MethodeFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeGetHashCode()Fungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetHashCode(UriTemplate)Ruft einen Hashcode für die angegebene UriTemplate-Instanz ab.
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

UriTemplate -Instanzen werden standardmäßig mithilfe von Verweisgleichheit verglichen. Die UriTemplateEquivalenceComparer-Klasse wertet Übereinstimmungen anstelle der standardmäßigen Verweisgleichheit mithilfe von IsEquivalentTo(UriTemplate) aus. Diese Klasse ist hilfreich, wenn Sie zwei UriTemplate-Instanzen auf Basis ihrer übereinstimmenden URIs vergleichen möchten und nicht mithilfe strikter Verweisgleichheit.

Im folgenden Beispiel wird der Unterschied zwischen Verweisgleichheit und Strukturgleichheit veranschaulicht. Außerdem wird die Verwendung von UriTemplateEquivalenceComparer als Vergleich in einem Wörterbuch veranschaulicht.


// Define two structurally equivalent templates
UriTemplate temp1 = new UriTemplate("weather/{state}/{city}");
UriTemplate temp2 = new UriTemplate("weather/{country}/{village}");

// Notice they are not reference equal, in other words
// they are do not refer to the same object
if (temp1 == temp2)
    Console.WriteLine("{0} and {1} are reference equal", temp1, temp2);
else
    Console.WriteLine("{0} and {1} are NOT reference equal", temp1, temp2);

// Notice they are structrually equal
if (temp1.IsEquivalentTo(temp2))
    Console.WriteLine("{0} and {1} are structurally equal", temp1, temp2);
else
    Console.WriteLine("{0} and {1} are NOT structurally equal", temp1, temp2);

// Create a dictionary and use UriTemplateEquivalenceComparer as the comparer
Dictionary<UriTemplate, object> templates = new Dictionary<UriTemplate, object>(new UriTemplateEquivalenceComparer());

// Add template 1 into the dictionary
templates.Add(temp1, "template1");

// The UriTemplateEquivalenceComparer will be used here to compare the template in the table with template2
// they are structurally equivalent, so ContainsKey will return true.
if (templates.ContainsKey(temp2))
    Console.WriteLine("Both templates hash to the same value");
else
    Console.WriteLine("Both templates do NOT hash to the same value");


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft