Opção estrita Em caso de falta de ligação tardia

Alguém pode ajudar-me a corrigir este erro?
' *** O2AreaCts
If StrComp(SF6StdData.Current("O2AreaCts").ToString, "") = 0 Then
    AreaCts(3) = 0
Else
    AreaCts(3) = Convert.ToDouble(SF6StdData.Current("O2AreaCts").ToString)
End If

e não, não quero mudar a opção nas propriedades do projecto para [opção estrita: Off]

o erro que estou a obter é o seguinte: opção estrita sobre a não validade da ligação tardia

And Dim SF6StdData As BindingSource = New BindingSource ()

preciso reescrever o código para que ele não tenha erros.

Author: Mo Patel, 2012-09-11

3 answers

Não é permitida a ligação tardia quando {[[0]} Está ligado. Se necessitar de efectuar a ligação tardia, as únicas opções são usar a reflexão ou desligar Option Strict. A única graça salvadora, no entanto, é que você não tem que desligar para todo o projeto. Você pode deixá-lo ligado para o projeto e, em seguida, basta adicionar a linha Option Strict Off no topo de qualquer arquivo de código, onde você precisa para realizar a ligação tardia. Não é uma boa solução, mas é melhor do que afectar todo o projecto.

Também, uma vez que o {[[0]} colocado no topo de um ficheiro se aplica apenas a esse ficheiro, ele nem sequer tem de se aplicar a uma classe inteira. Se você dividir sua classe em vários arquivos Partial Class, então você poderia ter Option Strict definido de forma diferente para cada um desses arquivos. Por exemplo, se você colocar a maioria de sua classe em um arquivo com Options Strict On, e então apenas colocar um método em um Partial Class em um arquivo separado com Option Strict Off, então apenas esse método seria compilado vagamente. O resto da classe seria compilado usando as regras estritas.

 10
Author: Steven Doggart, 2016-04-28 09:57:50

Tens de fazer com que o BindingSource actue como uma fonte de dados fortemente dactilografada. Ver as observações na documentação: http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingsource.aspx

 2
Author: Andrew Morton, 2012-09-11 18:23:31

Se declarou AreaCts sem um tipo, ex:

Dim AreaCts as Array

Tenta

Dim AreaCts() as Double
Isto corrigiu o meu erro de ligação.
 1
Author: kadzema, 2018-06-13 17:07:47