BindingList<T>.FindCore(PropertyDescriptor, Object) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Si se han implementado las búsquedas en una clase derivada, busca el índice del elemento que contiene el descriptor de propiedades especificado con el valor indicado; en caso contrario, produce una excepción 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
Parámetros
- prop
- PropertyDescriptor
PropertyDescriptor que se va a buscar.
- key
- Object
Valor de prop
que debe coincidir.
Devoluciones
Índice de base cero del elemento que coincide con el descriptor de propiedades y contiene el valor especificado.
Excepciones
No se ha reemplazado FindCore(PropertyDescriptor, Object) en una clase derivada.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar el FindCore miembro .
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
Comentarios
La BindingList<T> clase no proporciona una implementación base de la búsqueda, por lo que FindCore siempre produce un valor NotSupportedException predeterminado. Para habilitar la búsqueda, derive de BindingList<T> y realice las siguientes tareas:
Invalide SupportsSearchingCore para establecer la SupportsSearchingCore propiedad en
true
.Invalide FindCore para implementar el algoritmo de búsqueda.