You can start with this:
public class Child
{
public List<Child> Children { get; set; }
}
And if you want some sort of tree structure:
var child1 = new Child()
{
Children = new List<Child>
new Child(),
new Child() { Children = new List<Child> { new Child() } },
new Child()
};
Or this
var child1 = new Child();
var child2 = new Child();
var child3 = new Child();
var child4 = new Child();
var child5 = new Child();
child1.Children = new List<Child>{ child2, child3 };
child3.Children = new List<Child> { child4, child5 };
Please note that there might be data integrity issues since List is exposed as public, meaning anybody can change Children or its contents, but you can look at that later.