İngilizce dilinde oku

Aracılığıyla paylaş


Option Strict On, 'methodname' yöntemi ile '<delegatename>>' temsilcisi< arasında örtük tür dönüştürmelerinde daraltmaya izin vermez

açıkken Option Strict , bir temsilcideki parametrenin veri türü ile bir işlevin ilgili parametresi arasında bir daraltma dönüştürmesi yapamazsınız veya Sub bu temsilci türündeki bir değişkene atanamaz. Örneğin, işlev temsilcisinin Del , ve işlevleri Conversion1Conversion2, türünde Integerbir parametresi vardır ve Conversion3 farklı sayısal türlerde bir parametresi vardır.

Delegate Function Del(ByVal p As Integer) As String  
  
Function Conversion1(ByVal n As Integer) As String  
    Return "Valid"  
End Function  
  
Function Conversion2(ByVal n As Long) As String  
    Return "Valid"  
End Function  
  
Function Conversion3(ByVal n As Short) As String  
    Return "Not valid"  
End Function  

ile arasında bir genişletme dönüştürmesi IntegerIntegerLongolduğundan, aşağıdaki atamalar geçerlidir.

' Valid.  
Dim funDel1 As Del = AddressOf Conversion1  
Dim funDel2 As Del = AddressOf Conversion2  

'den IntegerShort dönüştürme, daraltma dönüştürmesidir. Bu nedenle, aşağıdaki atama geçerli değildir.

' Not valid.  
Dim funDel3 As Del = AddressOf Conversion3  

Hata Kimliği: BC36663

Bu hatayı düzeltmek için

  • Temsilcideki veya yöntemindeki parametrenin veri türünü, gerekli genişletme ilişkisinin var olması için değiştirin.

Ayrıca bkz.