Functional Programming: Students Generator

Здравейте,

Във връзка с домашното по функционално програмиране си поиграх малко и се постарах да направя един що - годе качествен генератор за студент който взима данните от документ във формат като този прекрепен към домашното. Понеже във повечето задачи от домашното студентите разполагат със някой property-та които ги няма в текстовия документ (като Marks и Phone) те се генерирарт със Random.

Ето кратък пример как се ползва:

namespace FunctionalProgramming
{
    using System;
    using System.Collections.Generic;
    using Students;
    using Students.Generators;

    class Example
    {
        static void Main()
        {
            var generator = new SimpleGenerator();

            IList<Student> students = generator.Genereate(10);

            Console.WriteLine("Working with this set of students:\n");

            foreach (var s in students)
            {
                Console.WriteLine(s);
                Console.WriteLine(s.GroupNumber);
            }
        }
    }
}

 В текущия вид от текстовия документ се четат FirstName LastName и Email , oставил съм виртуален метод през който може да се промени начинът по който се parse-ва информацията от текущия ред и съответно така да се генерира студент който отговаря на полетата в Students-data.txt , мисля че е направено удобно и ще се получи със сравнително малко усилия - или да се добавят необходимите полета във класът Student или по - правилният начин да се направи наследник на Student който да съдържа липсващите полета, след това същото и със generator-а където ще е достатъчно само да се overridе-не виртуалния метод.

Малко е късно защото вече е крайният срок за предаване на домашните, но който иска може да го ползва и ако може да го надгради като добави споменатата функционалност, ако ми стигне времето да реша задачите до "** LINQ to Excel" ще го направя да работи по начина в условието.


Edit:

Направих го да работи по споменатият по - горе начин ето и едно примерно решение на задачата 

** LINQ to Excel