Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

UriTemplateEquivalenceComparer (Clase)

Una clase utilizada para comparar las instancias de UriTemplate para (en lugar de referencia) la equivalencia estructural.

System.Object
  System.UriTemplateEquivalenceComparer

Espacio de nombres:  System
Ensamblado:  System.ServiceModel (en System.ServiceModel.dll)

public class UriTemplateEquivalenceComparer : IEqualityComparer<UriTemplate>

El tipo UriTemplateEquivalenceComparer expone los siguientes miembros.

  NombreDescripción
Método públicoUriTemplateEquivalenceComparerInicializa una nueva instancia de la clase UriTemplateEquivalenceComparer.
Arriba

  NombreDescripción
Método públicoEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método públicoEquals(UriTemplate, UriTemplate)compara dos instancias de UriTemplate para la equivalencia.
Método protegidoFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoGetHashCode() Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoGetHashCode(UriTemplate)obtiene un código hash para la instancia especificada de UriTemplate .
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

las instancias deUriTemplate se comparan mediante igualdad de referencia de forma predeterminada. La clase de UriTemplateEquivalenceComparer evalúa equivalencia utilizando IsEquivalentTo(UriTemplate) en lugar de comprobación predeterminada de igualdad de referencia. Esta clase es útil si desea comparar dos instancias de UriTemplate basadas en los URI que coinciden en lugar de igualdad de referencia estricta.

El ejemplo siguiente se muestra la diferencia entre la igualdad de referencia y la igualdad estructural. También muestra cómo utilizar UriTemplateEquivalenceComparer como comparador en un diccionario.


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

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Compatible con: 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 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft