我很好奇是否有可能在運行時跟蹤對象引用下的操作(複製,訪問等)。 例如,如果我調試以下代碼:運行時對象參考跟蹤
private static void Main(string[] args)
{
// Creating new object and reference.
var myList = new List<int>();
// a) Copying a reference to method.
UpdateList(myList);
}
private static void UpdateList(IList<int> list)
{
// b) Copying the reference.
var localList = list;
// c) Accessing the object through copied reference.
localList.Add(1);
// d) Copying a reference to method.
int count = GetListElementsCount(localList);
}
private static int GetListElementsCount(IList<int> list)
{
// Another reference access.
// Breakpoint here.
return list.Count;
}
將斷點設置成GetListElementsCount
,我可以看看通過list
說法起源和它(A,B,C,d)所做的更改? Roslyn編譯器是否爲此提供了一些C#API?
非常感謝。
HTTP://source.roslyn。 IO /#Microsoft.CodeAnalysis /編譯/ DataFlowAnalysis.cs – SLaks