Sdílet prostřednictvím


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

Definice

Vyhledá index položky, která má zadaný popisovač vlastnosti se zadanou hodnotou, pokud je vyhledávání implementováno v odvozené třídě; jinak, 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

key
Object

Hodnota, která prop se má shodovat.

Návraty

Index položky založené na nule, který odpovídá popisovači vlastnosti a obsahuje zadanou hodnotu.

Výjimky

FindCore(PropertyDescriptor, Object) není přepsán v odvozené třídě.

Příklady

Následující příklad kódu ukazuje, jak použít FindCore člen.

public class MyFontList : BindingList<Font>
{
    protected override bool SupportsSearchingCore => 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.Equals((string)key, StringComparison.CurrentCultureIgnoreCase))
            {
                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

Poznámky

Třída BindingList<T> neposkytuje základní implementaci vyhledávání, takže FindCore vždy vyvolá ve výchozím nastavení.NotSupportedException Pokud chcete povolit vyhledávání, odvozujte je a BindingList<T> proveďte následující úlohy:

Platí pro