BindingList<T>.FindCore(PropertyDescriptor, Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Sucht nach dem Index des Elements, das über den angegebenen Eigenschaftendeskriptor mit dem angegebenen Wert verfügt, wenn der Suchvorgang in einer abgeleiteten Klasse implementiert wird, andernfalls 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
Parameter
- prop
- PropertyDescriptor
Die zu suchende PropertyDescriptor.
- key
- Object
Der Wert von prop
, der übereinstimmen soll.
Gibt zurück
Der nullbasierte Index des Elements, das dem Eigenschaftendeskriptor entspricht und den angegebenen Wert enthält.
Ausnahmen
FindCore(PropertyDescriptor, Object) wird in einer abgeleiteten Klasse nicht überschrieben.
Beispiele
Im folgenden Codebeispiel wird die Verwendung des FindCore Members veranschaulicht.
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
Hinweise
Die BindingList<T> -Klasse stellt keine Basisimplementierung der Suche bereit und löst daher FindCore standardmäßig immer eine aus NotSupportedException . Um die Suche zu aktivieren, leiten Sie von BindingList<T> ab, und führen Sie die folgenden Aufgaben aus:
Überschreiben Sie SupportsSearchingCore , um die SupportsSearchingCore -Eigenschaft auf festzulegen
true
.Überschreiben FindCore Sie, um den Suchalgorithmus zu implementieren.