Partager via


BindingList<T>.FindCore(PropertyDescriptor, Object) Méthode

Définition

Recherche l'index de l'élément qui a le descripteur de propriété déterminé avec la valeur spécifiée, si la recherche est implémentée dans une classe dérivée ; sinon, un 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

Paramètres

key
Object

Valeur de prop à atteindre.

Retours

Index de base zéro de l'élément correspondant au descripteur de propriété et contenant la valeur spécifiée.

Exceptions

FindCore(PropertyDescriptor, Object) n'est pas substitué dans une classe dérivée.

Exemples

L’exemple de code suivant montre comment utiliser le FindCore membre.

    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

Remarques

La BindingList<T> classe ne fournit pas d’implémentation de base de la recherche et lève donc FindCore toujours un NotSupportedException par défaut. Pour activer la recherche, dérivez des BindingList<T> tâches suivantes et effectuez les tâches suivantes :

S’applique à