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: StringIl nome del tipo dell'identificatore.
identifier
Tipo: array<Object[]Una matrice di parti dell'identificatore di oggetto origine dati.
identifierPart
Tipo: Int32L'indice in base zero nella matrice di identificatori che indica quale parte dell'identificatore per confrontare.
value
Tipo: ObjectUn 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
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.