BindingList<T>.FindCore(PropertyDescriptor, Object) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Zoekt naar de index van het item met de opgegeven eigenschapsdescriptor met de opgegeven waarde, als zoeken is geïmplementeerd in een afgeleide klasse; anders, een 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
Parameters
- prop
- PropertyDescriptor
De PropertyDescriptor te zoeken.
- key
- Object
De waarde die prop moet worden vergeleken.
Retouren
De op nul gebaseerde index van het item dat overeenkomt met de beschrijving van de eigenschap en de opgegeven waarde bevat.
Uitzonderingen
FindCore(PropertyDescriptor, Object) wordt niet overschreven in een afgeleide klasse.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u het FindCore lid gebruikt.
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
Opmerkingen
De BindingList<T> klasse biedt geen basisimplementatie van het zoeken, en genereert dus FindCore altijd een NotSupportedException standaardinstelling. U kunt zoeken inschakelen door af te leiden van BindingList<T> de volgende taken en deze uit te voeren:
Overschrijven SupportsSearchingCore om de SupportsSearchingCore eigenschap in te stellen op
true.Overschrijven FindCore om het zoekalgoritmen te implementeren.