BindingList<T>.FindCore(PropertyDescriptor, Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vyhledá index položky, která má zadaný popisovač vlastností se zadanou hodnotou, pokud je vyhledávání implementováno v odvozené třídě; v opačném případě .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
Hledaný PropertyDescriptor .
- key
- Object
Hodnota, která se má shodovat prop
.
Návraty
Nulový index položky, 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
{
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
Poznámky
Třída BindingList<T> neposkytuje základní implementaci vyhledávání, a proto FindCore vždy vyvolá NotSupportedException ve výchozím nastavení . Pokud chcete povolit vyhledávání, odvozujte z BindingList<T> nich a proveďte následující úlohy:
Přepsání SupportsSearchingCore pro nastavení SupportsSearchingCore vlastnosti na
true
.Pokud chcete implementovat algoritmus hledání, přepište FindCore ho.