在C++時代的某個地方,我製作了一個庫,它啓用了計算曆史記錄的字符串表示。 有一個數學表達式,如:檢測字符串
TScalar Compute(TScalar a, TScalar b, TScalar c)
{
return (a + b) * c;
}
我可以使它的字符串表示:
r = Compute(VerbalScalar("a", 1), VerbalScalar("b", 2), VerbalScalar("c", 3));
Assert.AreEqual(9, r.Value);
Assert.AreEqual("(a+b)*c==(1+2)*3", r.History);
C++運算符重載允許一個簡單類型與複雜的自我跟蹤實體取代度的內部樹表示與物體發生的一切事情。
現在我想對NET字符串有相同的可能性,而不是變量名稱,我希望看到影響字符串的代碼中所有位置的堆棧跟蹤。
我希望它能夠與現有的代碼和現有的編譯程序集一起工作。
另外我希望所有這些都能夠嵌入到Visual Studio調試器中,所以我可以設置一個斷點,並查看與字符串有關的所有事情。
哪種技術會允許這種事情?
我知道它聽起來像是一個烏托邦,但我認爲Visual Studio代碼覆蓋工具實際上在測試程序集時執行相同類型的工作。