Compartilhar via


Método DataObjectMemberComparer.Compare (String, array<Object , Int32, Object)

Compara uma parte do identificador de objeto com outra parte específica do identificador de objeto.

Namespace:  Microsoft.VisualStudio.Data.Framework
Assembly:  Microsoft.VisualStudio.Data.Framework (em Microsoft.VisualStudio.Data.Framework.dll)

Sintaxe

'Declaração
Public Overridable Function Compare ( _
    typeName As String, _
    identifier As Object(), _
    identifierPart As Integer, _
    value As Object _
) As Integer
public virtual int Compare(
    string typeName,
    Object[] identifier,
    int identifierPart,
    Object value
)
public:
virtual int Compare(
    String^ typeName, 
    array<Object^>^ identifier, 
    int identifierPart, 
    Object^ value
)
abstract Compare : 
        typeName:string * 
        identifier:Object[] * 
        identifierPart:int * 
        value:Object -> int 
override Compare : 
        typeName:string * 
        identifier:Object[] * 
        identifierPart:int * 
        value:Object -> int 
public function Compare(
    typeName : String, 
    identifier : Object[], 
    identifierPart : int, 
    value : Object
) : int

Parâmetros

  • identifier
    Tipo: array<System.Object[]
    Uma matriz de partes do identificador de objeto de fonte de dados.
  • identifierPart
    Tipo: System.Int32
    O índice com base zero no array de identificadores que indica que parte do identificador para comparar.
  • value
    Tipo: System.Object
    Um valor para comparar a parte do identificador em.

Valor de retorno

Tipo: System.Int32
Um valor menor que zero se a parte do identificador é menor que o valor especificado; zero se a parte do identificador é igual ao valor especificado; um valor maior que zero se a parte do identificador é maior que o valor especificado.

Implementações

IVsDataObjectMemberComparer.Compare(String, array<Object[], Int32, Object)

Exceções

Exceção Condição
ArgumentNullException

o parâmetro de typeName e/ou de identifier é nulluma referência nula (Nothing no Visual Basic).

ArgumentOutOfRangeException

O parâmetro de identifier é menor que zero ou maior ou igual ao número de elementos no array de identificadores.

Comentários

Esse método deve usar as mesmas regras de comparação que a fonte de dados para garantir a unicidade correta de objetos no lado do cliente.

Se você passar o identificador de fonte completo, você pode manipular determinadas situações complexas.Por exemplo, as versões recentes do Microsoft SQL Server para permitir que o servidor está em conjunto com diferenciação de maiúsculas e minúsculas em comparação de identificadores quando um banco de dados específico no servidor possa diferenciar maiúsculas de minúsculas, ou vice-versa.Isso significa que para comparar o esquema ou o nome de uma tabela (que apareça no segundo e terceiro partes respectivamente em um identificador de tabela completa, a primeira parte que é o banco de dados), a implementação do método deve usar a primeira parte do identificador para determinar que banco de dados é na tabela, e assim, o tipo de comparação a ser usada.

A implementação base de este método usa o comparador padrão de objeto do .NET Framework (Comparer) quando a parte do identificador de fonte implementa IComparable; se não chama o método de Equals de substituição de implementação de IComparable e retorna 1 se esse método retornar false.

Este método trata o zero e o DBNull idêntica.Isto é, se um valor é DBNull e o outro valor é zero, são considerados o mesmo valor.

Segurança do .NET Framework

Consulte também

Referência

DataObjectMemberComparer Classe

Sobrecargas Compare

Namespace Microsoft.VisualStudio.Data.Framework