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 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

key
Object

Nilai yang prop akan dicocokkan.

Mengembalikan

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

Pengecualian

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:

Berlaku untuk