我想获得一个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