Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Typ proměnné variablename<> nebude odvozen, protože je svázán s polem v uzavřeném oboru. Změňte název< proměnné nebo> použijte plně kvalifikovaný název (například Me.variablename nebo MyBase.variablename).
Řídicí proměnná smyčky v kódu má stejný název jako pole třídy nebo jiného nadřazeného oboru. Protože se řídicí proměnná používá bez As
klauzule, je svázaná s polem v uzavřeném oboru a kompilátor pro něj nevytvoří novou proměnnou nebo odvodí její typ.
V následujícím příkladu Index
je řídicí proměnná v For
příkazu svázaná s Index
polem Customer
ve třídě. Kompilátor nevytvoří novou proměnnou pro řídicí proměnnou Index
ani odvozuje její typ.
Class Customer
' The class has a field named Index.
Private Index As Integer
Sub Main()
' The following line will raise this warning.
For Index = 1 To 10
' ...
Next
End Sub
End Class
Ve výchozím nastavení je tato zpráva upozorněním. Informace o tom, jak skrýt upozornění nebo jak zacházet s upozorněními jako s chybami, naleznete v tématu Konfigurace upozornění v jazyce Visual Basic.
ID chyby: BC42110
Pokud chcete toto upozornění vyřešit
Změňte proměnnou ovládacího prvku smyčky na místní změnou jejího názvu na identifikátor, který není také názvem pole třídy.
For I = 1 To 10
Objasněte si, že řídicí proměnná smyčky je svázána s polem třídy předponou
Me.
názvu proměnné.For Me.Index = 1 To 10
Místo toho, abyste se museli spoléhat na odvození místního typu, použijte
As
klauzuli k určení typu pro řídicí proměnnou smyčky.For Index As Integer = 1 To 10
Příklad
Následující kód ukazuje předchozí příklad s první opravou.
Class Customer
' The class has a field named Index.
Private Index As Integer
Sub Main()
For I = 1 To 10
' ...
Next
End Sub
End Class