问题描述
我正在尝试可视化一个SyntaxTree的C#对象。 JSON会很好,但不是必需的,我只是很难处理VS UI和对象中的所有循环引用。当我尝试使用JSON.NET对其进行序列化时,出现循环引用错误。这不是我第一次遇到类似的问题,但我想我会解决一下。
我知道哪些键需要删除,它们是ContainingElement,ContainingNamSpace,ContainingSourceUnit,ContainingType。
我试图创建一个可以重用的函数,以便在将其传递给JSON.NET之前以递归方式从对象中删除这些键,但是我需要一些帮助。
public static object removeObjectsByName(object incoming,string WildcardRemove){
List<object newObject = new List<object>();
foreach (var item in incoming)
{
if (subItem.ToString().Contains(WildcardRemove))
{
continue;
}
}
removeObject(newObject);
return newObject;
}
我通常不会对泛型类型做很多事情,但是我不知道所有传入数据类型将是什么,尤其是当我们递归地调用它时。我们应该创建List
,Array
还是将其保留为object
?这是我正在查看的示例:
对象的根名为tree
,我对Functions
感兴趣,该数组中有61个项目。在深入研究这些内容时,您会发现需要删除的Containing*
键。麻烦的是它们也将存在于Body
和Properties
下。然后在Body
下,还有一个Properties
。{p}
我不需要任何向后引用的东西,我只希望每个孩子都没有名为Containing*
的任何键。
有什么提示吗?再说一次,我不在乎输出是JSON,还是以列表的形式输出到控制台,是否使用Linq或其他东西,只是试图通过这种方式查看自己的方式。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)