Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Лабораторная работа по «Разработке программных приложений»

Автор:   •  Сентябрь 10, 2019  •  Лабораторная работа  •  2,621 Слов (11 Страниц)  •  445 Просмотры

Страница 1 из 11

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №5

по дисциплине «Разработка программных приложений»

Выполнили студенты группы ИКБО-08-17 Кукушкин Ю.А

Принял Захаров О. Н.

Работа представлена к защите «____»____________ 2019 г.

Москва 2019

Задание

Создать приложение, выводящее информацию RTTI для каждого узла дерева объектов, выводящее следующие данные:

1) Название класса

2) Название класса-предка

3) Область видимости класса

4) Название сборки, в которой класс определен

5) Публичный интерфейс класса:

А) список полей с типами

Б) список свойств с типами и указанием на наличие методов считывания и установки значения

В) список методов с типами возвращемых значений, названиями и типами аргументов

6) Определяемый классом интерфейс:

А) список полей с типами

Б) список свойств с типами и указанием на наличие методов считывания и установки значения

В) список методов с типами возвращемых значений, названиями и типами аргументов.

Для каждого элемента указать спецификатор области видимости. Если метод виртуальный, указать это, также указать класс, в котором находится реализация этого метода и класс, в котором он был впервые объявлен.

Дополнить схему классов информацией о членах (полях, методах и свойствах) каждого класса. Если виртуальный элемент впервые объявлен в классе, выделить его зеленым цветом, если виртуальный элемент переопределен — желтым. Невиртуальные элементы должны иметь черный цвет, переопределенные — красный.

Код программы

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Reflection;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

RTTIRoot a = new RTTIRoot();

DumpObject(a);

RTTIClass1 s = new RTTIClass1();

DumpObject(s);

RTTIClass11 d = new RTTIClass11();

DumpObject(d);

RTTIClass12 f = new RTTIClass12();

DumpObject(f);

RTTIClass2 g = new RTTIClass2();

DumpObject(g);

RTTIClass21 h = new RTTIClass21();

DumpObject(h);

RTTIClass22 j = new RTTIClass22();

DumpObject(j);

}

public class RTTIRoot

{

internal int A;

public int PA;

public int Prop1 { get; set; }

internal void DoIt() { }

public virtual void DoThat() { }

}

internal class RTTIClass1 : RTTIRoot

{

private int B;

public string C;

internal new void DoIt() { }

public override void DoThat() { }

}

private class RTTIClass11 : RTTIClass1

{

internal float D;

private float PropD { get { return D; } }

internal new void DoIt() { }

}

...

Скачать:   txt (11 Kb)   pdf (130.4 Kb)   docx (13.2 Kb)  
Продолжить читать еще 10 страниц(ы) »
Доступно только на Essays.club