任何人都可以解释以下即时窗口行为:
Debug.Print mDb.DatabaseOptions
Method arguments must be enclosed in parentheses.
Debug.Print(mDb.DatabaseOptions)
Value of type 'DatabaseOptions' cannot be converted to 'String'.
? mDb.DatabaseOptions
{Microsoft.SqlServer.Management.Smo.DatabaseOptions}
AnsiNullDefault: False
...
UserData: Nothing
问号(?)是
的别名Debug.Print
这显然不是100%正确,因为这两个陈述在上面的例子中表现出不同的行为。如果它有所不同,我使用的是VB 2008的Express Edition。
答案 0 :(得分:1)
Debug.Print 方法与Debug.Print 命令之间存在差异。
命令通常在Command.Window中输入。要在立即窗口中输入命令,您需要附加>在命令名之前:
?mDb.DatabaseOptions
是命令的别名:
>Debug.Print mDb.DatabaseOptions
不是调用方法的别名:
Debug.Print(mDb.DatabaseOptions)
答案 1 :(得分:1)
我们如何让“方法”表现得像命令一样? 我有一个像
这样的变量Dictionary<string, Tuple<string, string, string, string>> results
Debug.Print(results)返回
System.Collections.Generic.Dictionary`2[System.String,System.Tuple`4[System.String,System.String,System.String,System.String]]
...而
?results
[0]: {[stringKey, (stringT1, stringT2, stringT3, stringT4)]}
[1]: {[stringKey, (stringT1, stringT2, stringT3, stringT4)]}
...
我显然想要!