BindingList<T>.FindCore(PropertyDescriptor, Object) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mencari indeks item yang memiliki deskriptor properti yang ditentukan dengan nilai yang ditentukan, jika pencarian diimplementasikan di kelas turunan; jika tidak, 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
Parameter
- prop
- PropertyDescriptor
untuk PropertyDescriptor mencari.
- key
- Object
Nilai yang prop
akan dicocokkan.
Mengembalikan
Indeks berbasis nol item yang cocok dengan deskriptor properti dan berisi nilai yang ditentukan.
Pengecualian
FindCore(PropertyDescriptor, Object) tidak ditimpa di kelas turunan.
Contoh
Contoh kode berikut menunjukkan cara menggunakan FindCore anggota.
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
Keterangan
Kelas BindingList<T> tidak menyediakan implementasi dasar pencarian, sehingga FindCore selalu melempar NotSupportedException secara default. Untuk mengaktifkan pencarian, dapatkan dari BindingList<T> dan lakukan tugas berikut:
Ambil alih SupportsSearchingCore untuk mengatur properti ke SupportsSearchingCore
true
.Ambil alih FindCore untuk mengimplementasikan algoritma temukan.