Внесение некоторых завершающих штрихов в назначение класса, но у меня возникают проблемы с двумя понятиями.
Вот назначение: напишите C#. NET Framework консольное приложение, чтобы продемонстрировать использование случаи свойств в C#. Приложение выполнит следующие действия для достижения sh этой цели.
Регистрирует каждый случай записи частного поля в установщике свойств. Перед выходом из программы выведите журнал активности на экран. Задайте значение каждого свойства каждого учащегося, чтобы упростить тестирование и работу этой функции ведения журнала.
Выберите хотя бы одно свойство для учащихся и убедитесь, что его установщик имеет лог c в это не код по умолчанию для автоматического задания свойств. Ведение журнала не учитывается для этих требований. Смотрите пример WatchDogAbility из главы 3 слайды / текст. Исторически системы позволяли учащимся ограничивать просмотр своей личной информации. Реализуйте эту систему здесь, убедившись, что получатели свойств проверяют это значение перед возвратом информации об ученике. Идентификатор и имя учащегося не подлежат проверке.
Отправьте снимок экрана с остановкой программы в режиме отладки в Visual Studio. Установите одно из свойств объекта Student. Пауза в строке, где новое значение записывается в приватное поле. Убедитесь, что новое значение отображается на экране вашего изображения (см. Пример ниже, используя Alt + Print Screen). Выведите все данные для всех учеников, скажем, минимум 10 учеников, по крайней мере, один с ограниченной личной информацией.
Я заблудился относительно того, как «регистрировать каждый случай написания приватное поле в установщике свойств ", и я также запутался в том, как я могу удовлетворить это требование". Исторически системы позволяли учащимся ограничивать просмотр их личной информации. Внедрите эту систему здесь, обеспечив проверку получателей свойств для этого значения перед возвратом информации об ученике. Идентификатор и имя студента освобождаются от необходимости проверки. "
Ниже приведен код, который у меня имеется:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Assignment_3
{
// Student Class
public class Student
{
// Class Fields
private int _graddate;
public int _id, _total;
public string _name, _major, _startdate, _state, _country, _email, _mailaddress;
public long _phonenumber;
// Name Propery Constructor - Read Only
public int Id
{
get
{
return this._id;
}
}
public string Name
{
get
{
return this._name;
}
}
public int Total
{
get
{
return this._total;
}
set
{
this._total = value;
Console.WriteLine($"Set Total to {value}");
}
}
public int Graddate
{
get
{
return _graddate;
}
set
{
if (value < 2020)
{
this._graddate = 0;
}
else
{
this._graddate = value;
}
}
}
// Constructor
public Student(int id, string name, string major, string startdate, int graddate, string state, string country, string email, long phonenumber, string mailaddress)
{
this._id = id;
this._name = name;
this._major = major;
this._startdate = startdate;
this._graddate = graddate;
this._state = state;
this._country = country;
this._email = email;
this._phonenumber = phonenumber;
this._mailaddress = mailaddress;
}
public Student(int total)
{
this._total = total;
}
}
// Main class
public class MainClass
{
static void Main(string[] args)
{
Student perone = new Student(07211964, "Ryu", "Physical Education", "July 21, 1964", 2021, "Shimane", "Japan", "Hadoken@gmail.com", 81369207750, "285 Suzaku Castle");
Student pertwo = new Student(02141965, "Ken", "Hospitality", "February 14, 1965", 2021, "California", "United States", "Shoryuken@gmail.com", 6503506500, "101 Battle Harbor");
Student perthree = new Student(11031960, "E.Honda", "Culinary Arts", "November 03, 1960", 2016, "Higashi Komagata", "Japan", "KillerHeadRam@gmail.com", 810669203600, "462 Kapukon Yu");
Student perfour = new Student(12231960, "Guile", "Aviation", "December 23, 1960", 2018, "Texas", "United States", "SonicBoom@gmail.com", 3109435470, "119 Air Force Base");
Student perfive = new Student(03011968, "Chun-Li", "Criminology", "March 01, 1968", 2020, "North Point", "Hong Kong", "Hyakuretsukyaku@gmail.com", 85223661001, "911 Taiping Road");
Student persix = new Student(02121966, "Blanka", "Electrical Engineering", "February 12, 1966", 2030, "Brasilia", "Brazil", "ShoutOfEarth@gmail.com", 4908001801976, "777 Amazon River Basin");
Student perseven = new Student(06011956, "Zangief", "Russian", "June 01, 1956", 2013, "Moscow", "Russia", "RedCyclone@gmail.com", 4408005876638, "360 Big Factory");
Student pereight = new Student(11221952, "Dhalsim", "Mental Health Services", "November 22, 1952", 2008, "New Delhi", "India", "YogaFire@gmail.com", 330800909617, "695 Marharaja's Palace");
Student pernine = new Student(01271967, "Vega", "Psychology", "January 27, 1967", 2026, "Madrid", "Spain", "IzunaDrop@gmail.com", 34900811390, "187 Flamenco Tavern");
Student perten = new Student(07021955, "Sagat", "Physical Education", "July 02, 1955", 2050, "Ayutthaya", "Thailand", "VanillaSagat@gmail.com", 39800928830, "311 King's Court");
Console.WriteLine("Student ID: {0}, Student Name: {1}, Major: {2}, School Start Date: {3}, School Graduation Date: {4}, State/Territory: {5}, Country: {6}, E-Mail: {7}, Phone Number: {8}, Mail Address: {9} \n", perone.Id, perone.Name, perone._major, perone._startdate, perone.Graddate, perone._state, perone._country, perone._email, perone._phonenumber, perone._mailaddress);
Console.WriteLine("Student ID: {0}, Student Name: {1}, Major: {2}, School Start Date: {3}, School Graduation Date: {4}, State/Territory: {5}, Country: {6}, E-Mail: {7}, Phone Number: {8}, Mail Address: {9}", pertwo.Id, pertwo.Name, pertwo._major, pertwo._startdate, pertwo.Graddate, pertwo._state, pertwo._country, pertwo._email, pertwo._phonenumber, pertwo._mailaddress);
Console.WriteLine("Student ID: {0}, Student Name: {1}, Major: {2}, School Start Date: {3}, School Graduation Date: {4}, State/Territory: {5}, Country: {6}, E-Mail: {7}, Phone Number: {8}, Mail Address: {9}", perthree.Id, perthree.Name, perthree._major, perthree._startdate, perthree.Graddate, perthree._state, perthree._country, perthree._email, perthree._phonenumber, perthree._mailaddress);
Console.WriteLine("Student ID: {0}, Student Name: {1}, Major: {2}, School Start Date: {3}, School Graduation Date: {4}, State/Territory: {5}, Country: {6}, E-Mail: {7}, Phone Number: {8}, Mail Address: {9}", perfour.Id, perfour.Name, perfour._major, perfour._startdate, perfour.Graddate, perfour._state, perfour._country, perfour._email, perfour._phonenumber, perfour._mailaddress);
Console.WriteLine("Student ID: {0}, Student Name: {1}, Major: {2}, School Start Date: {3}, School Graduation Date: {4}, State/Territory: {5}, Country: {6}, E-Mail: {7}, Phone Number: {8}, Mail Address: {9}", perfive.Id, perfive.Name, perfive._major, perfive._startdate, perfive.Graddate, perfive._state, perfive._country, perfive._email, perfive._phonenumber, perfive._mailaddress);
Console.WriteLine("Student ID: {0}, Student Name: {1}, Major: {2}, School Start Date: {3}, School Graduation Date: {4}, State/Territory: {5}, Country: {6}, E-Mail: {7}, Phone Number: {8}, Mail Address: {9}", persix.Id, persix.Name, persix._major, persix._startdate, persix.Graddate, persix._state, persix._country, persix._email, persix._phonenumber, persix._mailaddress);
Console.WriteLine("Student ID: {0}, Student Name: {1}, Major: {2}, School Start Date: {3}, School Graduation Date: {4}, State/Territory: {5}, Country: {6}, E-Mail: {7}, Phone Number: {8}, Mail Address: {9}", perseven.Id, perseven.Name, perseven._major, perseven._startdate, perseven.Graddate, perseven._state, perseven._country, perseven._email, perseven._phonenumber, perseven._mailaddress);
Console.WriteLine("Student ID: {0}, Student Name: {1}, Major: {2}, School Start Date: {3}, School Graduation Date: {4}, State/Territory: {5}, Country: {6}, E-Mail: {7}, Phone Number: {8}, Mail Address: {9}", pereight.Id, pereight.Name, pereight._major, pereight._startdate, pereight.Graddate, pereight._state, pereight._country, pereight._email, pereight._phonenumber, pereight._mailaddress);
Console.WriteLine("Student ID: {0}, Student Name: {1}, Major: {2}, School Start Date: {3}, School Graduation Date: {4}, State/Territory: {5}, Country: {6}, E-Mail: {7}, Phone Number: {8}, Mail Address: {9}", pernine.Id, pernine.Name, pernine._major, pernine._startdate, pernine.Graddate, pernine._state, pernine._country, pernine._email, pernine._phonenumber, pernine._mailaddress);
Console.WriteLine("Student ID: {0}, Student Name: {1}, Major: {2}, School Start Date: {3}, School Graduation Date: {4}, State/Territory: {5}, Country: {6}, E-Mail: {7}, Phone Number: {8}, Mail Address: {9}", perten.Id, perten.Name, perten._major, perten._startdate, perten.Graddate, perten._state, perten._country, perten._email, perten._phonenumber, perten._mailaddress);
Console.WriteLine("Instances of writing of a private field within a setter: {0}", Student.Total);
}
}
}
Спасибо за вашу помощь и объяснения!