BindingList<T>.FindCore(PropertyDescriptor, Object) Yöntem

Tanım

Türetilmiş bir sınıfta arama uygulanıyorsa, belirtilen değerle belirtilen özellik tanımlayıcısını içeren öğenin dizinini arar; aksi takdirde, bir 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

Parametreler

key
Object

Eşleştirecek değeri prop .

Döndürülenler

Özellik tanımlayıcısı ile eşleşen ve belirtilen değeri içeren öğenin sıfır tabanlı dizini.

Özel durumlar

FindCore(PropertyDescriptor, Object) türetilmiş bir sınıfta geçersiz kılınmadı.

Örnekler

Aşağıdaki kod örneğinde üyenin nasıl kullanılacağı gösterilmektedir FindCore .

    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

Açıklamalar

sınıfı BindingList<T> , aramanın temel bir uygulamasını sağlamaz ve bu nedenle FindCore her zaman varsayılan olarak bir NotSupportedException oluşturur. Aramayı etkinleştirmek için aşağıdaki görevleri türetin BindingList<T> ve gerçekleştirin:

Şunlara uygulanır