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

Definitie

Zoekt naar de index van het item met de opgegeven eigenschapsdescriptor met de opgegeven waarde, als zoeken is geïmplementeerd in een afgeleide klasse; anders, een 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

Parameters

key
Object

De waarde die prop moet worden vergeleken.

Retouren

De op nul gebaseerde index van het item dat overeenkomt met de beschrijving van de eigenschap en de opgegeven waarde bevat.

Uitzonderingen

FindCore(PropertyDescriptor, Object) wordt niet overschreven in een afgeleide klasse.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u het FindCore lid gebruikt.

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

Opmerkingen

De BindingList<T> klasse biedt geen basisimplementatie van het zoeken, en genereert dus FindCore altijd een NotSupportedException standaardinstelling. U kunt zoeken inschakelen door af te leiden van BindingList<T> de volgende taken en deze uit te voeren:

Van toepassing op