Freigeben über


BindingList<T>.FindCore(PropertyDescriptor, Object) Methode

Definition

Sucht nach dem Index des Elements mit dem angegebenen Eigenschaftsdeskriptor mit dem angegebenen Wert, wenn die Suche in einer abgeleiteten Klasse implementiert wird; andernfalls ein NotSupportedException.

protected:
 virtual int FindCore(System::ComponentModel::PropertyDescriptor ^ prop, System::Object ^ key);
protected virtual int FindCore(System.ComponentModel.PropertyDescriptor prop, object key);
abstract member FindCore : System.ComponentModel.PropertyDescriptor * obj -> int
override this.FindCore : System.ComponentModel.PropertyDescriptor * obj -> int
Protected Overridable Function FindCore (prop As PropertyDescriptor, key As Object) As Integer

Parameter

prop
PropertyDescriptor

Der PropertyDescriptor gesuchte Suchbegriff.

key
Object

Der Wert der prop Übereinstimmung.

Gibt zurück

Der nullbasierte Index des Elements, das dem Eigenschaftsdeskriptor entspricht und den angegebenen Wert enthält.

Ausnahmen

FindCore(PropertyDescriptor, Object) wird in einer abgeleiteten Klasse nicht außer Kraft gesetzt.

Beispiele

Im folgenden Codebeispiel wird die Verwendung des FindCore Elements veranschaulicht.

public class MyFontList : BindingList<Font>
{
    protected override bool SupportsSearchingCore => true;
    protected override int FindCore(PropertyDescriptor prop, object key)
    {
        // Ignore the prop value and search by family name.
        for (int i = 0; i < Count; ++i)
        {
            if (Items[i].FontFamily.Name.Equals((string)key, StringComparison.CurrentCultureIgnoreCase))
            {
                return i;
            }
        }
        return -1;
    }
}
Public Class MyFontList
    Inherits BindingList(Of Font)

    Protected Overrides ReadOnly Property SupportsSearchingCore() As Boolean
        Get
            Return True
        End Get
    End Property
    
    Protected Overrides Function FindCore(ByVal prop As PropertyDescriptor, _
        ByVal key As Object) As Integer
        ' Ignore the prop value and search by family name.
        Dim i As Integer
        While i < Count
            If Items(i).FontFamily.Name.ToLower() = CStr(key).ToLower() Then
                Return i
            End If
            i += 1
        End While

        Return -1
    End Function
End Class

Hinweise

Die BindingList<T> Klasse stellt keine Basisimplementierung der Suche bereit und löst daher FindCore immer eine NotSupportedException standardmäßige Auslöser aus. Um die Suche zu aktivieren, leiten Sie die folgenden Aufgaben ab und führen sie aus BindingList<T> :

Gilt für: