BindingList<T>.FindCore(PropertyDescriptor, Object) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Recherche l’index de l’élément qui a le descripteur de propriété spécifié 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
- prop
- PropertyDescriptor
À PropertyDescriptor rechercher.
- key
- Object
Valeur à prop mettre en correspondance.
Retours
Index de base zéro de l’élément qui correspond au descripteur de propriété et contient 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 => 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
Remarques
La BindingList<T> classe ne fournit pas d’implémentation de base de la recherche, et FindCore lève donc toujours une NotSupportedException par défaut. Pour activer la recherche, dérivez et BindingList<T> effectuez les tâches suivantes :
Remplacer SupportsSearchingCore pour définir la SupportsSearchingCore propriété sur
true.Remplacez FindCore l’implémentation de l’algorithme de recherche.