İngilizce dilinde oku

Aracılığıyla paylaş


'İsteğe bağlı' bir uzantı yönteminin ilk parametresine uygulanamaz

'İsteğe bağlı' bir uzantı yönteminin ilk parametresine uygulanamaz. İlk parametre hangi türün genişletebileceğinizi belirtir.

Uzantı yönteminin ilk parametresi, yöntemin genişletir veri türünü belirtir. Yöntemi yürütürken, ilk parametre yöntemini çağıran veri türünün örneğine bağlıdır. Bu nedenle, ilk parametre gereklidir ve isteğe bağlı olamaz.

Kısıtlama yalnızca ilk parametre için geçerlidir. Diğer parametreler isteğe bağlı olabilir veya olmayabilir; diğer herhangi bir yöntemle aynı kurallara uyar. Daha fazla bilgi için bkz . Parametre Listesi.

Hata Kimliği: BC36553

Bu hatayı düzeltmek için

  • Geçerli ilk parametrenin genişletilmekte olan veri türünü belirtmesini istiyorsanız anahtar sözcüğünü Optional kaldırın.

  • Geçerli ilk parametre yöntemin standart bir parametresiyse ve genişletilmekte olan veri türünü temsil etmemesini istiyorsanız, yeni bir ilk parametre ekleyin.

Örnek

Aşağıdaki örnekteki ilk parametre, yöntemin veri türünü genişletir PrintString tek göstergesidir. Bu nedenle isteğe bağlı olamaz.

<Extension()>  
Public Sub Print (ByVal str As String)  
    Console.WriteLine(str)  
End Sub  

Uzantı yöntemi aşağıdaki gibi çağrıldığında, yöntemindeki parametresi str çağrısının örneği StringPrintile greetingilişkilidir. Derleyici, uzantısı yöntemine Printbağımsız değişken olarak kullanırgreeting.

Dim greeting As String = "Hello"  
greeting.Print()  

Ayrıca bkz.