This documentation is archived and is not being maintained.

BindingList.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.

Namespace: System.ComponentModel
Assembly: System (in system.dll)

protected virtual int FindCore (
	PropertyDescriptor prop,
	Object key
protected int FindCore (
	PropertyDescriptor prop, 
	Object key
protected function FindCore (
	prop : PropertyDescriptor, 
	key : Object
) : int
Not applicable.



The PropertyDescriptor to search for.


The value of property to match.

Return Value

The zero-based index of the item that matches the property descriptor and contains the specified value.

Exception typeCondition


FindCore is not overridden in a derived class.

The BindingList class does not provide a base implementation of searching, and so FindCore always throws a NotSupportedException by default. To enable searching, derive from BindingList 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 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

.NET Compact Framework

Supported in: 2.0

XNA Framework

Supported in: 1.0