Предметная область
"University"
૮₍ • ᴥ • ₎ა
૮₍ • ᴥ • ₎ა
૮₍ • ᴥ • ₎ა
OOOPS..
Создание
namespace ClassLibrary1;
public class Student
{
public string name { get; set; }
public int age { get; set; }
}
Подключение
using ClassLibrary1;
var gosha = new Student {
name = "Гоша",
age = 18 };
Console.WriteLine(gosha.name);
Гоша
Динамическая загрузка сборок и позднее связывание
исследуем сборку на наличие в ней различных типов:
using System.Reflection;
var asm = Assembly.LoadFrom(
"ClassLibrary1.dll");
Console.WriteLine(asm.FullName);
var types = asm.GetTypes();
foreach(Type t in types)
{
Console.WriteLine(t.Name);
}
ClassLibrary1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Student
Исследование типов
Получение типа через typeof:
Type myType = typeof(Student);
Console.WriteLine(myType.ToString());
Console.ReadLine();
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
public Student(string n, int a)
{
Name = n;
Age = a;
}
public void Display()
{
Console.WriteLine($"Имя: {Name} Возраст: {Age}");
}
public int registration (int today, int tomorrow)
{
return today * tomorrow;
}
}
Гоша, 18 лет
Позднее связывание
using System;
class Program
{
static void Main(string[] args)
{
University university = new University();
university.InvestInEducation(5, 1000000, 4); // Инвестиция в образование студентов на 4 года с 5% дохода в год
Console.WriteLine($"Итоговый капитал университета: {university.Capital}");
Console.ReadLine();
}
}
class University
{
public double Capital { get; set; }
public void InvestInEducation(int percent, double initialCapital, int years)
{
Capital = initialCapital;
for (int i = 0; i < years; i++)
{
Capital += Capital / 100 * percent;
}
}
}
Итоговый капитал университета: 1215506,25