BindingList<T>.FindCore Method
Searches for the index of the item that has the specified property descriptor with the specified value, if searching is implemented in a derived class; otherwise, a NotSupportedException.
Assembly: System (in System.dll)
Parameters
- prop
- Type: System.ComponentModel.PropertyDescriptor
The PropertyDescriptor to search for.
- key
- Type: System.Object
The value of property to match.
Return Value
Type: System.Int32The zero-based index of the item that matches the property descriptor and contains the specified value.
| Exception | Condition |
|---|---|
| NotSupportedException | FindCore is not overridden in a derived class. |
The BindingList<T> class does not provide a base implementation of searching, and so FindCore always throws a NotSupportedException by default. To enable searching, derive from BindingList<T> and perform the following tasks:
Override SupportsSearchingCore to set the SupportsSearchingCore property to true.
Override FindCore to implement the find algorithm.
The following code example demonstrates how to use the FindCore member.
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;
}
}
}
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.