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é 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
- prop
- PropertyDescriptor
PropertyDescriptor à rechercher.
- 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 :
Remplacez SupportsSearchingCore pour définir la SupportsSearchingCore propriété sur
true
.Remplacez FindCore pour implémenter l’algorithme de recherche.