在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代码覆盖工具实际上在测试程序集时执行相同类型的工作。