Freigeben über


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

Vergleicht einen Objektkennungsteil mit einem anderen angegebenen Objektkennungsteil.

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

Syntax

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

Parameter

  • typeName
    Typ: String

    Der Name des Bezeichnertyps.

  • identifier
    Typ: array<Object[]

    Ein Array Datenquellenobjektbezeichnerteile.

  • identifierPart
    Typ: Int32

    Der nullbasierte Index im Bezeichnerarray, das das Teil des Bezeichners angibt, um zu vergleichen.

  • value
    Typ: Object

    Ein Wert, mit dem das Bezeichnerteils für zu vergleichen.

Rückgabewert

Typ: Int32
Ein Wert kleiner als null, wenn der Bezeichnerteil kleiner als der angegebene Wert ist; (wenn der Bezeichnerteil gleich dem angegebenen Wert ist; ein Wert größer als null, wenn der Bezeichnerteil größer als der angegebene Wert ist.

Implementiert

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

Ausnahmen

Ausnahme Bedingung
ArgumentNullException

Der typeName und/oder identifier-Parameter ist nullein Nullverweis (Nothing in Visual Basic).

ArgumentOutOfRangeException

Der identifier-Parameter ist kleiner als null oder größer oder gleich der Anzahl von Elementen im Bezeichnerarray.

Hinweise

Diese Methode sollte die gleichen Vergleichsregeln als Datenquelle verwenden, die richtige Eindeutigkeit von Objekten auf der Clientseite sicherzustellen.

Wenn Sie in die vollständige Absenderkennung übergeben, können Sie bestimmte komplexe Situationen behandeln. Beispielsweise gestatten neue Versionen von Microsoft SQL Server dem Server insgesamt, um auf Bezeichnervergleich Groß-/Kleinschreibung sein, während eine bestimmte Datenbank auf dem Server möglicherweise die Groß-/Kleinschreibung nicht beachtet wird, oder umgekehrt. Dies bedeutet, dass, wenn das Schema verglichen oder Name einer Tabelle (die angezeigt werden, wie das zweite und dritte Teile bzw. in einem vollständigen, in der erste Teil, der die Datenbank ist), die Implementierung dieser Methode den ersten Bezeichnerteil verwenden muss, um zu bestimmen, die Datenbank die Tabelle in ist und somit, welche Art von Vergleich zu verwenden.

Die Basisimplementierung dieser Methode verwendet den standardmäßigen .NET Framework-Objektvergleich (Comparer) wenn der Absenderkennungsteil IComparable implementiert; andernfalls ruft sie die Equals-Überschreibungsmethode der IComparable-Implementierung auf und gibt 1 zurück, wenn diese Methode false zurückgibt.

Diese Methode behandelt NULL und DBNull identisch. Das heißt, wenn ein Wert DBNull ist und der andere Wert NULL ist, werden sie der gleiche Wert betrachtet.

.NET Framework-Sicherheit

Siehe auch

Referenz

DataObjectMemberComparer Klasse

Compare-Überladung

Microsoft.VisualStudio.Data.Framework-Namespace