Condividi tramite


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

Confronta un identificatore di oggetto si separano un altro parte specifica dell'identificatore di oggetto.

Spazio dei nomi:  Microsoft.VisualStudio.Data.Framework
Assembly:  Microsoft.VisualStudio.Data.Framework (in Microsoft.VisualStudio.Data.Framework.dll)

Sintassi

'Dichiarazione
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

Parametri

  • typeName
    Tipo: String

    Il nome del tipo dell'identificatore.

  • identifier
    Tipo: array<Object[]

    Una matrice di parti dell'identificatore di oggetto origine dati.

  • identifierPart
    Tipo: Int32

    L'indice in base zero nella matrice di identificatori che indica quale parte dell'identificatore per confrontare.

  • value
    Tipo: Object

    Un valore per confrontare la parte dell'identificatore su.

Valore restituito

Tipo: Int32
Un valore minore di zero se la parte dell'identificatore è minore del valore specificato; zero se la parte dell'identificatore è uguale al valore specificato; un valore maggiore di zero se la parte dell'identificatore è maggiore del valore specificato.

Implementa

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

Eccezioni

Eccezione Condizione
ArgumentNullException

Il parametro identifier e/o typeName è nullriferimento null (Nothing in Visual Basic).

ArgumentOutOfRangeException

Il parametro identifier è minore di zero o maggiore o uguale al numero di elementi nella matrice di identificatori.

Note

Questo metodo deve utilizzare le stesse regole di confronto dell'origine dati garantirne l'univocità corretta di oggetti client.

Se si passa l'identificatore di origine completo, è possibile gestire alcune situazioni complesse. Ad esempio, nelle versioni più recenti di Microsoft SQL Server consentono al server corrente venga fatta distinzione tra maiuscole e minuscole sul confronto degli identificatori di un determinato database nel server può essere eseguito senza distinzione tra maiuscole e minuscole, o viceversa. Ciò significa che nel confronto dello schema o il nome di una tabella (visualizzate come secondo e terze parti rispettivamente in un identificatore di tabella completo, la prima parte che rappresenta il database), l'implementazione del metodo deve utilizzare la prima parte dell'identificatore per determinare il database la tabella è in e pertanto, il tipo di confronto da utilizzare.

L'implementazione di base di questo metodo utilizza l'operatore di confronto predefinito dell'oggetto .NET Framework (Comparer) quando la parte dell'identificatore di origine implementa IComparable; in caso contrario chiama il metodo Equals di override dell'implementazione IComparable e restituisce 1 se questo metodo restituisce false.

Questo metodo gestisce in modo identico null e DBNull. Ovvero se un valore è DBNull e altro valore è null, vengono considerati lo stesso valore.

Sicurezza di .NET Framework

Vedere anche

Riferimenti

DataObjectMemberComparer Classe

Overload Compare

Spazio dei nomi Microsoft.VisualStudio.Data.Framework