Hata

2015-05-19 35 views
5

hatası alıyorumHata

Protected Class QueryParameterComparer 
     Implements System.Collections.Generic.IComparer(Of QueryParameter) 

     Public Function Compare(x As QueryParameter, y As QueryParameter) As Integer 
      If x.Name = y.Name Then 
       Return String.Compare(x.Value, y.Value) 
      Else 
       Return String.Compare(x.Name, y.Name) 
      End If 
     End Function 

    End Class 

Neyi eksik?

Protected Class QueryParameterComparer 
    Implements IComparer(Of QueryParameter) 

    Public Function Compare(x As QueryParameter, y As QueryParameter) As Integer Implements IComparer(Of QueryParameter).Compare 
     ' ... 
    End Function 
End Class 
+3

Arabirim yöntemi uygulaması, * Implements * anahtar sözcüğünü gerektirir. IDE'nin başarı çukuruna düşmesine yardım etmesine izin ver. İşlevi sil, İmleçler yadayada satırından sonra imleci koy ve Enter tuşuna bas. –

+1

Woah! Bunu daha önce hiç görmedim! Bunu bir kopya olarak işaretledim ve sonra yıllar önce yinelenen soruyu sorduğun farkına vardım. Komik ... –

+0

@StevenDoggart: LOL! : S Bazı insanlar asla öğrenemez mi? :) Yine de bu yazıyı silemiyorum .... – Flo

cevap

8

, tüm arayüz uygulamaları her zaman açıkça her üyesinde Implements anahtar kelimeler ile belirtilmelidir

VB.Net, arabirimlerinizin uygulama yöntemleri olan yöntemleri belirtmenizi gerektirir.

Bu garip, ancak uygulama için farklı bir işlev adı belirtmenize izin veriyor. Bu, sınıfınıza doğrudan erişimin işlev için bir ada sahip olmasını sağlar, ancak arabirim aracılığıyla bir referans, arabirim yöntemi adına sahip olur. Yapabileceğiniz başka bir şey, yöntemi bir Özel olarak belirtmektir, böylece yönteme yalnızca bir arayüz referansı üzerinden erişebilirsiniz.

3
: Yöntemin adı sadece VB.NET içinde, arayüzde biriyle eşleşmesi gerekir C#, aksine