Bagikan melalui


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

Definisi

Mencari indeks item yang memiliki deskriptor properti yang ditentukan dengan nilai yang ditentukan, jika pencarian diimplementasikan dalam 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

yang PropertyDescriptor akan dicari.

key
Object

Nilai yang cocok prop .

Mengembalikan

Indeks berbasis nol dari item yang cocok dengan deskriptor properti dan berisi nilai yang ditentukan.

Pengecualian

FindCore(PropertyDescriptor, Object) tidak ditimpa dalam kelas turunan.

Contoh

Contoh kode berikut menunjukkan cara menggunakan FindCore anggota.

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

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:

Berlaku untuk