Ich bin gespannt, ob es möglich ist, Operationen unter Objektreferenzen während der Laufzeit zu verfolgen (Kopieren, Zugriff usw.). Zum Beispiel, wenn ich debuggen den folgenden Code:Objektreferenzverfolgung in Runtime
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;
}
und einen Haltepunkt in GetListElementsCount
setzen, kann ich schauen Sie durch das list
Argument Ursprung und ihm vorgenommenen Änderungen (a, b, c, d)? Bietet Roslyn-Compiler einige C# API dafür?
Vielen Dank.
http: //source.roslyn. io/# Microsoft.CodeAnalysis/Kompilierung/DataFlowAnalysis.cs – SLaks