我想獲得一個VB.NET應用程序來編譯。除了「elephant in the room」,我也越來越7「‘微調’未聲明」像這樣的代碼中的錯誤:爲什麼我沒有用這個VB.NET代碼聲明'修剪'?
...還有一個「‘IsNothing’不是由於其保護級別,可能無法訪問。「在這條線上:
If IsNothing(memberList) = False Then
我不知道VB,所以可能有一個簡單的解決方案,但我不知道問題是什麼。
我想獲得一個VB.NET應用程序來編譯。除了「elephant in the room」,我也越來越7「‘微調’未聲明」像這樣的代碼中的錯誤:爲什麼我沒有用這個VB.NET代碼聲明'修剪'?
...還有一個「‘IsNothing’不是由於其保護級別,可能無法訪問。「在這條線上:
If IsNothing(memberList) = False Then
我不知道VB,所以可能有一個簡單的解決方案,但我不知道問題是什麼。
裁剪功能需要來自組件的Visual Basic運行時庫(在Microsoft.VisualBasic.dll中)
一般優選的是,從字符串類使用本地修剪方法來參考Microsoft.VisualBasic程序而不是添加到該程序集的引用(主要用於幫助移植舊VB6應用程序)
mail.CC.Add(addr.Trim())
還要注意的是string.Trim刪除其他空白字符作爲標籤,而Microsoft.VisualBasic程序功能不。
酷;擺脫那六個錯誤;我仍然擁有「IsNothing」和舊的「Object Ref」之一。但是,這回答了我的問題,所以我會盡快將其標記爲答案(8分鐘/ 1:50 PST)。 –
'IsNothing' ==>'Is Nothing'(不是函數)@ B.ClayShannon – Plutonix
當我用空格分隔它們時,它確實阻止了早期的err味精,但它帶來了兩個新味道: 非法調用表達式或索引表達。 - 和:「預計表達式」 –
String.Trim
不帶字符串參數。它返回一個新的字符串,其中當前String對象的一組指定字符的所有前導和尾隨出現都被刪除。
它應該是...
你在這個MSDN article
使用addr.Trim
代替Trim(addr)
瞭解更多關於Trim
你應該使用
If not memberList Is Nothing Then
相反的
If IsNothing(memberList) = False Then
或者
你必須導入Microsoft.VisualBasic
命名空間
如果使用Left()
,Mid()
和Right()
字符串函數您可能會發現更容易地轉換那些太:
Left(t, l)
變成t.Substring(0, l)
Mid(t, s, l)
成爲t.Substring(s-1, l)
Right(t, l)
成爲t.Substring(t.Length - l)
通常Left
和Right
是性能和使用舊的VB字符串函數阻止你。
爲什麼不使用NET版本的修剪?那是字符串類的一部分? addr.Trim() – Steve
您可能沒有包含'Microsoft.VisualBasic'命名空間。情況可能是這樣,因爲它也扼殺了「沒有什麼」。酷的孩子使用NET對應 – Plutonix