Option Strict On, lambda ifadesi ile temsilci '<temsilciadı>' arasında örtük tür dönüştürmelerinde daraltmaya izin vermez

açıkken Option Strict , temsilcideki bir parametrenin veri türü ile bu temsilci türündeki bir değişkene atanmış lambda ifadesinin karşılık gelen parametresi arasında bir daraltma dönüştürmesi yapamazsınız. Örneğin, aşağıdaki kodda temsilcinin Del türünde Integerbir parametresi vardır.

Delegate Function Del(ByVal p As Integer) As String  

Bu nedenle, türündeki bir değişkene atanan herhangi bir lambda ifadesinin Del karşılık gelen parametresi veya türünden Integergenişletme dönüştürmesi olan herhangi bir veri türü olabilirInteger.

' Valid.  
Dim example1 As Del = Function(n As Integer) "Valid"  
Dim example2 As Del = Function(n As Long) "Valid"  
  
' Not valid.  
Dim example3 As Del = Function(n As Short) "Not Valid"  

Hata Kimliği: BC36662

Bu hatayı düzeltmek için

  • Gerekli genişletme ilişkisinin mevcut olması için temsilcideki veya lambda ifadesindeki parametrenin veri türünü değiştirin.

  • Lambda ifadesinde parametre veri türlerini belirtmeyin. Türler, temsilcideki ilgili parametrelerden çıkarılır.

Dim example4 As Del = Function(n) "Valid"  

Ayrıca bkz.