public int Sum() { return x+y;

}

public bool IsBetween(int i) {

if ( (x < i) && (i < y)) return true;

else return false;    

}

public void Set(int a, int b) {

Console.Write('В методе Set(int, int). '); x = a;

У = b;

Show();

}

// Перегрузить.метод Set.

public void Set(double a, double b) {

Console.Write('В методе Set(double, double). '); x = (int) a; у = (int) b;

Show () ;

}

public void Show() {

Console.WriteLine ('Значение x:    {0},    значение у: {1}', x, у);

}

}

class AnotherClass { string msg;

public AnotherClass(string str) { msg = str;

}

public void Show()    {

Console.WriteLine(msg);

class Demo {

static void Main() {

Console.WriteLine('Это заполнитель.');

}

}

Этот файл содержит класс MyClass, неоднократно использовавшийся в предыдущих примерах. Кроме того, в файл добавлены второй класс AnotherClass и третий класс Demo. Следовательно, сборка, полученная из исходного кода, находящегося в этом исходном файле, будет содержать три класса. Затем этот файл компилируется, и из него формируется исполняемый файл MyClasses . ехе. Именно эта сборка и будет опрашиваться программно.

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

/* Обнаружить сборку, определить типы и создать объект с помощью рефлексии. */

using System;

using System.Reflection;

class ReflectAssemblyDemo { static void Main() { int val;

// Загрузить сборку MyClasses.exe.

Assembly asm = Assembly.LoadFrom('MyClasses.exe');

// Обнаружить типы, содержащиеся в сборке MyClasses.exe.

Туре[] alltypes = asm.GetTypes(); foreach(Type temp in alltypes)

Console.WriteLine('Найдено: ' + temp.Name);

Console.WriteLine() ;

// Использовать первый тип, в данном случае — класс MyClass.

Type t = alltypes[0]; // использовать первый найденный класс Console.WriteLine ('Использовано: ' + t.Name);

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ОБРАНЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату