鑑於代碼是否有可能在VS中的方法鏈中設置斷點,如果是這樣的話?
[Test]
public void Test1()
{
var a = new A();
a
.Method1()
.Method2();
}
是有可能設置一個斷點,使得執行方法1()已被執行之後暫停,但方法2之前不打算方法2的定義,並把一個斷點?當我這樣做時,斷點出現在'a'處。
鑑於代碼是否有可能在VS中的方法鏈中設置斷點,如果是這樣的話?
[Test]
public void Test1()
{
var a = new A();
a
.Method1()
.Method2();
}
是有可能設置一個斷點,使得執行方法1()已被執行之後暫停,但方法2之前不打算方法2的定義,並把一個斷點?當我這樣做時,斷點出現在'a'處。
不,調試器的可執行代碼單元是一個語句。代碼段中的方法體中只有兩個。向connect.microsoft.com發佈功能請求。這將是一個艱難的銷售,這在技術上不是不可能的,但是可能是一個潛在的重新設計工作。
您可以使用「f11-step into」步入該階段,所以對他們來說可能並不難做。 – mcintyre321 2011-05-10 12:12:02
您不能在那裏設置斷點,但可以在整個語句中設置斷點,然後使用右鍵菜單(Debug.StepIntoSpecific)中的「Step into Specific>」命令進入Method2 ()。
您還可以重複進/出步驟來逐步完成複合語句的各個方法調用。
謝謝!在Visual Studio中不知道隱藏的寶石,但它可能非常有用! (儘管它有一段奇怪的德語翻譯......「Angabe的Einzelschritt」) – ygoe 2014-09-17 14:12:10
使用Rider而不是Visual Studio。當使用流利的語法時,IntelliJ Idea能夠合乎邏輯。這是2017年,流利的語法無處不在(LINQ)。對Visual Studio感到羞恥(甚至到2017年)。
另一個不違反得墨忒耳定律的好理由:-) – 2011-05-10 11:12:06
不使用流暢接口的另一個原因 – mcintyre321 2011-05-10 12:10:53