声明不起作用

时间:2015-05-31 10:20:51

标签: vb.net with-statement

为什么这不起作用?

Module Module1

Sub Main()
    With System.Console 'error BC30691: 'Console' is a type in 'System' and cannot be used as an expression.
        .WriteLine("here a text!")
        .ReadKey(True)
    End With
End Sub

End Module

2 个答案:

答案 0 :(得分:4)

With的MSDN说:

  

objectExpression 必需。一个求值为一个对象的表达式。表达式可以是任意复杂的并且仅被评估一次。表达式可以评估任何数据类型,包括基本类型。

这意味着With用于实例方法(和属性),但WriteLineReadKey是静态(或Shared)方法,System.Console是类型,而不是对象的实例。这就是为什么在这种情况下你不能使用With

答案 1 :(得分:2)

WriteLine和ReadKey是Shared方法,您没有要与With

一起使用的实例

您需要实例化变量才能将其与With

一起使用