Generic TreeNode : Generic Tree « Generics « C# / C Sharp

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Design Patterns
8.Development Class
9.Event
10.File Stream
11.Generics
12.GUI Windows Form
13.Language Basics
14.LINQ
15.Network
16.Office
17.Reflection
18.Regular Expressions
19.Security
20.Services Event
21.Thread
22.Web Services
23.Windows
24.Windows Presentation Foundation
25.XML
26.XML LINQ
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source
C# / C Sharp » Generics » Generic TreeScreenshots 
Generic TreeNode
 




using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

public class Employee {
    private int _id = 0;
    private string _name = null;

    public Employee(int id, string name) {
        this._id = id;
        this._name = name;
    }

    public int Id {
        get return this._id; }
    }

    public string Name {
        get return this._name; }
    }

    public override string ToString() {
        return this._name;
    }
}
public class TreeNode<T> {
    private T _nodeData;
    private ArrayList _childNodes;

    public TreeNode(T nodeData) {
        this._nodeData = nodeData;
        this._childNodes = new ArrayList();
    }

    public T Data {
        get return this._nodeData; }
    }

    public TreeNode<T>[] Children {
        get return (TreeNode<T>[])this._childNodes.ToArray(typeof(TreeNode<T>))}
    }

    public TreeNode<T> this[int index] {
        get return (TreeNode<T>)this._childNodes[index]}
    }

    public TreeNode<T> AddChild(T nodeData) {
        TreeNode<T> newNode = new TreeNode<T>(nodeData);
        this._childNodes.Add(newNode);
        return newNode;
    }

    public override string ToString() {
        return this._nodeData.ToString();
    }
}


class Program {
    static void Main(string[] args) {
        TreeNode<Employee> rootNode = new TreeNode<Employee>(new Employee(111"H"));
        TreeNode<Employee> child1 = rootNode.AddChild(new Employee(222"B"));
        rootNode.AddChild(new Employee(333"T"));
        child1.AddChild(new Employee(444"B"));
        child1.AddChild(new Employee(555"M"));
    }
}


         
Related examples in the same category
1.Generic Binary Tree
2.Walk through a tree recursively
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.