Tag: 层次

分层对象和AutoFixture

我已经实现了一个用于存储标签的类,标签集合必须是层次化的,所以我的类是: public class Tag { public int Id { get; set; } public int Description { get; set; } public Tag ParentTag { get; set; } // … (methods for get children, add and remove children, etc.) } 这样,根标签(用户希望能够拥有许多单独的树)没有父标记,而非根标记必须具有父标记。 这是实现层次结构的好方法吗? 我发现复合模式,但在我的域中,所有标签都只是标签,对于域专家,父标签和子标签之间没有区别。 在测试中使用AutoFixture出现问题; 当我需要创建一个简单的标签时,它会引发这个错误: 失败: Ploeh.AutoFixture.ObjectCreationException :AutoFixture无法创建Ploeh.AutoFixture.Kernel.SeededRequest类型的实例,因为遍历的对象图包含循环引用。 编辑:我阅读使用AutoFixture创建递归树,但它是不同的情况:我只有一个类,而不是2,我不希望自动混合创建一个树,但只有一个节点

使用Autofixture将子实例上的属性值设置为固定值

在使用Autofixture构建父级时,是否可以为子实例上的属性分配固定值? 它会将默认值添加到子实例上的所有属性(如charm),但我想覆盖并为子实例上的某个属性指定特定值。 鉴于这种父/子关系: public class Person { public string FirstName { get; set; } public string LastName { get; set; } public Address Address { get; set; } } public class Address { public string Street { get; set; } public int Number { get; set; } public string City { get; set; } public […]

遍历层次结构对象c#

如果我有类似下面的类。 我如何遍历它直到其属性SomeObjects.count = 0 public class SomeObject { public String Name { get; set; } public List SomeObjects { get; set; } } 非常感谢

用于生成层次结构的C#算法

我有一个看起来像这样的文本文件: { Id = 1, ParentId = 0, Position = 0, Title = “root” } { Id = 2, ParentId = 1, Position = 0, Title = “child 1” } { Id = 3, ParentId = 1, Position = 1, Title = “child 2” } { Id = 4, ParentId = 1, Position = 2, […]