İngilizce dilinde oku

Aracılığıyla paylaş


'typeName>' içinde tanımlanan '<<methodName>' uzantı yöntemi, '<delegateName>' temsilcisiyle aynı imzaya sahip değil

Uzantı yönteminin imzaları ile kullanmaya çalıştığınız temsilci arasında bir uyuşmazlık var. deyimi, Delegate bir temsilci sınıfının parametre türlerini ve dönüş türlerini tanımlar. Eşleşen parametreler, türler ve dönüş türlerine sahip herhangi bir yordam, bu temsilci türünün bir örneğini oluşturmak için kullanılabilir. Uzantı yönteminin Example imzası temsilcinin Delimzası ile uyumlu olmadığından bu hata aşağıdaki örnekte bildirilmiştir.

' Definition of the delegate, with two parameters.  
Delegate Sub Del(ByVal m As Integer, ByVal s As String)  
' Definition of the extension method, with one parameter.  
<Extension()> _  
Sub Example(ByVal s As String)  
    ' Body of the Sub.  
End Sub  
'' This assignment causes the error.  
' Dim exampleDel As Del = AddressOf Example  

Hata Kimliği: BC36580

Bu hatayı düzeltmek için

  • Temsilcinin ve uzantı yönteminin aynı sayıda parametreye sahip olduğunu doğrulayın.

  • Parametrelerin sırasının temsilcide ve uzantı yönteminde aynı olduğunu doğrulayın.

  • Her temsilci parametresinin veri türünü, uyumlu olduklarından emin olmak için ilgili uzantı yöntemi parametresinin veri türüyle karşılaştırın.

Ayrıca bkz.