2012-01-23 36 views
2

谁能解释下立即窗口行为:VB.Net即时窗口中`?`和`Debug.Print`有什么区别?

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 

根据MS documentation

问号是Debug.Print

这显然不是100%的别名(?)这是真的,因为这两个陈述在上面的例子中表现出不同的行为。如果这有什么差别,我使用VB 2008

回答

1

的Express版本还有就是Debug.Print 方法和Debug.Print 命令之间的差异。

命令通常在Command.Window中输入。输入立即窗口命令你所需要的命令名称,以便之前追加>:

?mDb.DatabaseOptions 

是命令别名:

>Debug.Print mDb.DatabaseOptions 

不调用该方法的别名:

Debug.Print(mDb.DatabaseOptions) 
1

我们如何使“方法”的行为像命令? 我有这样

Dictionary<string, Tuple<string, string, string, string>> results 

Debug.Print(结果)变量返回

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)]} 
    ... 

了我显然想!

相关问题