示例#1
0
        static void Main(string[] args)
        {
            Employee Rahul = new Employee {
                EmpID = 1, Name = "Rahul"
            };

            Employee Amit = new Employee {
                EmpID = 2, Name = "Amit"
            };
            Employee Mohan = new Employee {
                EmpID = 3, Name = "Mohan"
            };

            Rahul.AddSubordinate(Amit);
            Rahul.AddSubordinate(Mohan);

            Employee Rita = new Employee {
                EmpID = 4, Name = "Rita"
            };
            Employee Hari = new Employee {
                EmpID = 5, Name = "Hari"
            };

            Amit.AddSubordinate(Rita);
            Amit.AddSubordinate(Hari);

            Employee Kamal = new Employee {
                EmpID = 6, Name = "Kamal"
            };
            Employee Raj = new Employee {
                EmpID = 7, Name = "Raj"
            };

            Contractor Sam = new Contractor {
                EmpID = 8, Name = "Sam"
            };
            Contractor tim = new Contractor {
                EmpID = 9, Name = "Tim"
            };

            Mohan.AddSubordinate(Kamal);
            Mohan.AddSubordinate(Raj);
            Mohan.AddSubordinate(Sam);
            Mohan.AddSubordinate(tim);

            Console.WriteLine("EmpID={0}, Name={1}", Rahul.EmpID, Rahul.Name);

            foreach (Employee manager in Rahul)
            {
                Console.WriteLine("\n EmpID={0}, Name={1}", manager.EmpID, manager.Name);

                foreach (var employee in manager)
                {
                    Console.WriteLine(" \t EmpID={0}, Name={1}", employee.EmpID, employee.Name);
                }
            }
            Console.ReadKey();
        }
示例#2
0
        static void Main(string[] args)
        {
            Employee boss = new Employee {
                Id = 1, Name = "boss"
            };

            Employee backEndTeamLeader = new Employee {
                Id = 2, Name = "back-end Team Leader"
            };
            Employee frontEndTeamLeader = new Employee {
                Id = 3, Name = "front-end Team Leader"
            };

            boss.AddSubordinate(backEndTeamLeader);
            boss.AddSubordinate(frontEndTeamLeader);

            Employee cSharpSeniorDeveloper = new Employee {
                Id = 4, Name = "C# Senior Developer"
            };
            Employee pythonSeniorDeveloper = new Employee {
                Id = 5, Name = "Python Senior Developer"
            };

            backEndTeamLeader.AddSubordinate(cSharpSeniorDeveloper);
            backEndTeamLeader.AddSubordinate(pythonSeniorDeveloper);

            Employee angularSeniorDeveloper = new Employee {
                Id = 6, Name = "Angular Senior Developer"
            };
            Employee blazorSeniorDeveloper = new Employee {
                Id = 7, Name = "Blazor Senior Developer"
            };

            Contractor juniorAngularDeveloper = new Contractor {
                Id = 8, Name = "Junior Angular Developer"
            };
            Contractor juniorReactDevelope = new Contractor {
                Id = 9, Name = "Junior React Developer"
            };

            frontEndTeamLeader.AddSubordinate(angularSeniorDeveloper);
            frontEndTeamLeader.AddSubordinate(blazorSeniorDeveloper);
            frontEndTeamLeader.AddSubordinate(juniorAngularDeveloper);
            frontEndTeamLeader.AddSubordinate(juniorReactDevelope);

            Console.WriteLine(boss);

            foreach (Employee manager in boss)
            {
                Console.WriteLine($"\t" + manager);

                foreach (var employee in manager)
                {
                    Console.WriteLine("\t\t" + employee);
                }
            }
        }