Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe UriTemplateEquivalenceComparer

Classe utilizzata per confrontare UriTemplate istanze per (invece di riferimento) equivalenza strutturale.

System.Object
  System.UriTemplateEquivalenceComparer

Spazio dei nomi:  System
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public class UriTemplateEquivalenceComparer : IEqualityComparer<UriTemplate>

Il tipo UriTemplateEquivalenceComparer espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoUriTemplateEquivalenceComparerInizializza una nuova istanza di UriTemplateEquivalenceComparer classe.
In alto

  NomeDescrizione
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo pubblicoEquals(UriTemplate, UriTemplate)confronta due UriTemplate istanze per l'equivalenza.
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoGetHashCode() Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetHashCode(UriTemplate)ottiene un codice hash per specificato UriTemplate istanza.
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

UriTemplate le istanze vengono confrontate tramite uguaglianza dei riferimenti per impostazione predefinita. UriTemplateEquivalenceComparer la classe restituisce l'equivalenza tramite IsEquivalentTo(UriTemplate) anziché controllo predefinito dell'uguaglianza dei riferimenti. Questa classe è utile quando si desidera confrontare due UriTemplate istanze basate sugli URI che corrispondono al posto dell'uguaglianza dei riferimenti rigida.

Nell'esempio seguente viene illustrata la differenza tra uguaglianza dei riferimenti e uguaglianza strutturale. Viene inoltre illustrato come utilizzare UriTemplateEquivalenceComparer come operatore di confronto in un dizionario.


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

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Supportato 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 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft