Часть 1.
1) Описать класс MyClass, который будет содержать:
• поля различных типов и различным уровнем доступа;
• методы, с различным набором аргументов и различным типом возвращаемого значения.
2) Объявить класс MyTestClass, который будет содержать методы выполняющие следующие действия:
• выводить по имени класса имена методов, которые содержат строковые параметры (имя класса передается в качестве аргумента);
• вызывать некоторый метод класса, при этом значения для его параметров необходимо прочитать из текстового файла (имя класса и имя метода передаются в качестве аргументов).
Часть 2
1) Расположить класс MyClass в отдельном .cs-файле и дополнить его следующими членами:
• перегрузить конструктор: один конструктор без параметров, другой с параметрами;
• объявить два интерфейса (IInterface1 и IInterface2) как минимум с двумя методами каждый и реализовать их
• одно из полей объявить как static
2) В классе MyTestClass реализовать метод (принимающий в качестве параметра имя класса), который выводит всё содержимое класса в текстовый файл;
3) Реализовать метод (принимающий в качестве параметра имя класса), который записывает все члены класса в файл *.cs, который должен правильно компилироваться в среде .NET.
Часть 3
С использованием механизма рефлексии и пользовательских атрибутов выполнить :
1) Реализовать атрибут CommandLineAttribute с параметром CommandSwitch указывающим имя параметра командной строки программы. Атрибут должен применяться к полям и свойствам класса. Написать алгоритм разбора командной строки вида «-[=] …» присваивающий соответствующим полям и свойствам объекта значения параметра из командной строки. Должны поддерживаться поля и свойства логического, целочисленного и строкового типов.