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.

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

protected virtual int FindCore(
	PropertyDescriptor prop,
	Object key
)

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.Int32
The zero-based index of the item that matches the property descriptor and contains the specified value.

ExceptionCondition
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:

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;
        }


    }

}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft