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

Definition

Sucht nach dem Index des Elements, das über den angegebenen Eigenschaftendeskriptor mit dem angegebenen Wert verfügt, wenn der Suchvorgang in einer abgeleiteten Klasse implementiert wird, andernfalls NotSupportedException.Searches for the index of the item that has the specified property descriptor with the specified value, if searching is implemented in a derived class; otherwise, a 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

Die zu suchende PropertyDescriptor.The PropertyDescriptor to search for.

key
Object

Der Wert von prop, der übereinstimmen soll.The value of prop to match.

Gibt zurück

Int32

Der nullbasierte Index des Elements, das dem Eigenschaftendeskriptor entspricht und den angegebenen Wert enthält.The zero-based index of the item that matches the property descriptor and contains the specified value.

Ausnahmen

FindCore(PropertyDescriptor, Object) wird in einer abgeleiteten Klasse nicht überschrieben.FindCore(PropertyDescriptor, Object) is not overridden in a derived class.

Beispiele

Im folgenden Codebeispiel wird die Verwendung des-Elements veranschaulicht FindCore .The following code example demonstrates how to use the FindCore member.

    public class MyFontList : BindingList<Font>
    {

        protected override bool SupportsSearchingCore
        {
            get { return 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.ToLower() == ((string)key).ToLower())
                    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 Basis Implementierung für die Suche bereit und löst daher FindCore immer NotSupportedException standardmäßig eine aus.The BindingList<T> class does not provide a base implementation of searching, and so FindCore always throws a NotSupportedException by default. Um die Suche zu aktivieren, leiten Sie von ab BindingList<T> und führen die folgenden Aufgaben aus:To enable searching, derive from BindingList<T> and perform the following tasks:

Gilt für: