Inheritance: System.Data.Objects.DataClasses.EntityObject
 /// <summary>
 /// Deprecated Method for adding a new object to the Employees EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToEmployees(Employee employee)
 {
     base.AddObject("Employees", employee);
 }
 /// <summary>
 /// Create a new Employee object.
 /// </summary>
 /// <param name="employeeID">Initial value of the EmployeeID property.</param>
 /// <param name="nationalIDNumber">Initial value of the NationalIDNumber property.</param>
 /// <param name="contactID">Initial value of the ContactID property.</param>
 /// <param name="loginID">Initial value of the LoginID property.</param>
 /// <param name="title">Initial value of the Title property.</param>
 /// <param name="birthDate">Initial value of the BirthDate property.</param>
 /// <param name="maritalStatus">Initial value of the MaritalStatus property.</param>
 /// <param name="gender">Initial value of the Gender property.</param>
 /// <param name="hireDate">Initial value of the HireDate property.</param>
 /// <param name="salariedFlag">Initial value of the SalariedFlag property.</param>
 /// <param name="vacationHours">Initial value of the VacationHours property.</param>
 /// <param name="sickLeaveHours">Initial value of the SickLeaveHours property.</param>
 /// <param name="currentFlag">Initial value of the CurrentFlag property.</param>
 /// <param name="rowguid">Initial value of the rowguid property.</param>
 /// <param name="modifiedDate">Initial value of the ModifiedDate property.</param>
 public static Employee CreateEmployee(global::System.Int32 employeeID, global::System.String nationalIDNumber, global::System.Int32 contactID, global::System.String loginID, global::System.String title, global::System.DateTime birthDate, global::System.String maritalStatus, global::System.String gender, global::System.DateTime hireDate, global::System.Boolean salariedFlag, global::System.Int16 vacationHours, global::System.Int16 sickLeaveHours, global::System.Boolean currentFlag, global::System.Guid rowguid, global::System.DateTime modifiedDate)
 {
     Employee employee = new Employee();
     employee.EmployeeID = employeeID;
     employee.NationalIDNumber = nationalIDNumber;
     employee.ContactID = contactID;
     employee.LoginID = loginID;
     employee.Title = title;
     employee.BirthDate = birthDate;
     employee.MaritalStatus = maritalStatus;
     employee.Gender = gender;
     employee.HireDate = hireDate;
     employee.SalariedFlag = salariedFlag;
     employee.VacationHours = vacationHours;
     employee.SickLeaveHours = sickLeaveHours;
     employee.CurrentFlag = currentFlag;
     employee.rowguid = rowguid;
     employee.ModifiedDate = modifiedDate;
     return employee;
 }
        public static void TestProperty()
        {
            // Свойства объединяют функции полей и методов.Для объекта, использующего какой-либо объект, свойство является полем, поэтому для доступа к свойству требуется тот же синтаксис, что и для поля.Для средства реализации класса свойство является одним или двумя блоками кода, представляющими метод доступа get и/или метод доступа set.Блок кода для метода доступа get выполняется, когда осуществляется чтение свойства; блок кода для метода доступа set выполняется, когда свойству присваивается новое значение.Свойство без метода доступа set считается доступным только для чтения. Свойство без метода доступа get считается доступным только для записи. Свойство с обоими методами доступа доступно для чтения и для записи.
            // В отличие от полей свойства не классифицируются как переменные.Поэтому свойство нельзя передать в качестве параметра ref (Справочник по C#) или out (Справочник по C#).
            // Свойства имеют множество применений: с их помощью можно проверить данные перед разрешением изменения, они могут прозрачно представлять данные в классе, куда эти данные извлекаются из какого-либо другого источника, например базы данных, они могут выполнять действие при изменении данных, например вызов события или изменение значения в других полях.
            // Свойства объявляются в блоке класса с помощью последовательного указания уровня доступа для поля, типа свойства, имени свойства и блока кода, в котором объявляется метод доступа get и/или set. Например:
            Date date = new Date();
            date.Month = 8;
            System.Console.WriteLine(date.Month);
            // Свойства могут быть объявлены как public, private, protected, internal или protected internal. Эти модификаторы доступа определяют порядок доступа к свойству для пользователей класса.Методы доступа get и set могут иметь различные модификаторы доступа для одного свойства.
            // Свойство можно объявить как статическое свойство при помощи ключевого слова static.
            // Свойство можно пометить как виртуальное свойство при помощи ключевого слова virtual. Это позволяет производным классам переопределять поведение свойства при помощи ключевого слова override.
            // Свойство, переопределяющее виртуальное свойство, может также быть sealed, что указывает на то, что для производных классов оно более не является виртуальным.И наконец, свойство можно объявить как abstract.Это означает, что в классе отсутствует реализация, поэтому производные классы должны создавать свою собственную реализацию.
            Employee.NumberOfEmployees = 107;
            Employee e1 = new Employee();
            e1.Name = "Claude Vige";

            System.Console.WriteLine("Employee number: {0}", Employee.Counter);
            System.Console.WriteLine("Employee name: {0}", e1.Name);

            Manager m1 = new Manager();
            // Derived class property.
            m1.Name = "John";

            ((Employee)m1).Name = "Mary";
            System.Console.WriteLine("Name in the derived class is: {0}", m1.Name);
            System.Console.WriteLine("Name in the base class is: {0}", ((Employee)m1).Name);

            // Input the side:
            System.Console.Write("Enter the side: ");
            double side = double.Parse(System.Console.ReadLine());

            // Compute the areas:
            Square s = new Square(side);
            Cube c = new Cube(side);

            // Display the results:
            System.Console.WriteLine("Area of the square = {0:F2}", s.Area);
            System.Console.WriteLine("Area of the cube = {0:F2}", c.Area);
            System.Console.WriteLine();

            // Input the area:
            System.Console.Write("Enter the area: ");
            double area = double.Parse(System.Console.ReadLine());

            // Compute the sides:
            s.Area = area;
            c.Area = area;

            // Display the results:
            System.Console.WriteLine("Side of the square = {0:F2}", s.side);
            System.Console.WriteLine("Side of the cube = {0:F2}", c.side);
        }