BindingList<T>.FindCore(PropertyDescriptor, Object) Metoda

Definicja

Wyszukuje indeks elementu, który ma określony deskryptor właściwości o określonej wartości, jeśli wyszukiwanie jest zaimplementowane w klasie pochodnej; w przeciwnym razie NotSupportedException.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.

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

Parametry

prop
PropertyDescriptor

PropertyDescriptor Aby wyszukać.The PropertyDescriptor to search for.

key
Object

Wartość prop do dopasowania.The value of prop to match.

Zwraca

Indeks (liczony od zera) elementu, który jest zgodny z deskryptorem właściwości i zawiera określoną wartość.The zero-based index of the item that matches the property descriptor and contains the specified value.

Wyjątki

FindCore(PropertyDescriptor, Object)nie jest zastępowany w klasie pochodnej.FindCore(PropertyDescriptor, Object) is not overridden in a derived class.

Przykłady

Poniższy przykład kodu demonstruje sposób korzystania z FindCore elementu członkowskiego.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;
        }


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

Uwagi

Klasa nie zapewnia podstawowej implementacji wyszukiwania, a więc FindCore zawsze generuje domyślnie wartość NotSupportedException domyślną. BindingList<T>The BindingList<T> class does not provide a base implementation of searching, and so FindCore always throws a NotSupportedException by default. Aby włączyć wyszukiwanie, należy utworzyć BindingList<T> z i wykonać następujące zadania:To enable searching, derive from BindingList<T> and perform the following tasks:

Dotyczy