공개 또는 비공개 여부에 관계없이 객체가 보유한 참조를 모두 재귀 적으로 검사해야하는 시나리오가 있습니다. 검사해야하는 객체는 매우 복잡하며 가능한 여러 가지 유형이 있으므로 가능한 경우 일반적으로 객체를 작성하는 것을 선호합니다. 이 같은일반적으로 객체에 대한 참조 그래프를 작성하는 방법
뭔가 (그냥 예, API는 중요하지 않습니다) :
var myObject = new MyObject();
var graph = GetGraph(myObject);
foreach (var reference in graph.References)
{
foreach (var subreference in reference.References)
{
// etc.
}
}
그것은 순환 참조를 처리 할 필요가 없습니다. 사실, 이것이 순환 참조에서 파열된다면, 이것은 내가 탐지하려고 시도하는 것이기 때문에 괜찮을 것입니다. 나는 영리한 반성이 이것을 할 수 있다고 생각하지만 반성에 대해서는 경험이별로 없습니다. 어떤 아이디어?
이 도구로 도움을받을 수 있습니까? http://www.amberfish.net/download.aspx 이것은 어셈블리의 모든 참조를 시각적으로 보여주는 어셈블리 검사기입니다. – Schwarzie2478
가능한 복제본 : http://stackoverflow.com/questions/1443548/printing-full-object-graph-using-c-sharp-and-reflection – Mrchief
개체 참조 또는 참조 형식을 의미합니까? 리플렉션은 객체 정보가 아닌 유형 정보를 반환하도록 설계되었습니다. 그러나 개인 회원에 대한 정보를 공개 할 수는 있습니다. 반면에 유형이나 데이터 (또는 둘 모두 가능)를 원한다면 명확하지 않습니다. 객체 참조를 찾는 객체 트리를 걷고 싶다면 반드시 반영 할 필요는 없습니다. –