2012-09-11 34 views
2

有人可以幫助我解決這個錯誤:選項嚴格On不允許後期綁定

' *** O2AreaCts 
If StrComp(SF6StdData.Current("O2AreaCts").ToString, "") = 0 Then 
    AreaCts(3) = 0 
Else 
    AreaCts(3) = Convert.ToDouble(SF6StdData.Current("O2AreaCts").ToString) 
End If 

而且沒有我不希望在項目屬性選項設置爲[選項嚴格:關閉]

的錯誤我得到的是:選項嚴格On不允許後期綁定

和點心SF6StdData作爲BindingSource的=新的BindingSource()

我需要重寫代碼,以便它會沒有任何錯誤。當Option Strict

+1

你想要什麼錯誤需要修正? –

+3

什麼錯誤?你不會說你在哪條線上收到了什麼錯誤。另外,分享StrComp功能。這不是一個標準的VB函數。 –

+1

StrComp是一個標準的VB函數 - 這裏的調用是合適的,所以錯誤可能與'AreaCts'索引器分配有關,但是誰知道。 –

回答

9

後期綁定是不允許的。如果您需要執行後期綁定,則唯一的選擇是使用反射或關閉Option Strict。然而,一個節約的優點是,你不必爲整個項目關閉Option Strict。您可以保留該項目,然後在需要執行後期綁定的任何代碼文件的頂部添加行Option Strict Off。這不是一個好的解決方案,但它比影響整個項目要好。

此外,由於Option Strict放置在文件的頂部只適用於該文件,它甚至沒有適用於整個類。如果您將班級分成多個Partial Class文件,那麼您可以爲每個文件設置不同的Option Strict。舉例來說,如果你把大部分的類的一個文件Options Strict On,然後只是把一個Partial Class一個方法,在一個單獨的文件,Option Strict Off,那麼只有一個方法,將鬆散的編譯。其餘的課程將使用嚴格的規則進行編譯。

+1

@David W如果你閱讀標題,你會知道我得到了什麼錯誤。 – mike

+2

這是有用的信息,謝謝! – Coops

+1

我得到了一些只能用於strict = off的代碼,但我不想禁用它。謝謝! –

相關問題