Создание объектов во время выполнения - PullRequest
0 голосов
/ 27 февраля 2012

Есть ли способ создания объектов во время выполнения в c #?

для простоты предположим следующую проблему. если у меня есть этот класс ..

class student {
string name;
int ID;} 

Допустим, я пишу программу, которая берет от пользователя количество учеников (например, 15), после чего программа должна создать 15 объектов из класса ученика и попросить пользователя указать имя и идентификатор для каждого ученика.

Что я хочу знать, так это как я могу создавать объекты во время выполнения?

Ответы [ 2 ]

6 голосов
/ 27 февраля 2012

Есть ли способ создания объектов во время выполнения в c #?

Поскольку вы знаете тип объектов, которые вы хотите создать во время компиляции, вы можете использовать List<Student> для представления динамической коллекции тех объектов, к которым можно добавить элементы.Затем во время выполнения вы могли бы попросить пользователя ввести число создаваемых студентов, и вы будете циклически проходить по этому числу и использовать метод Add в списке, чтобы добавить в него новые элементы.

Что касается создания экземпляра объекта (Student в вашем случае), вы можете просто вызвать его конструктор , используя ключевое слово new.

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

1 голос
/ 28 февраля 2012

Сначала вы должны подумать об объекте, чтобы сохранить все экземпляры, которые вы собираетесь создать.Возможно, List .. Тогда вы можете использовать for-loop для создания каждого отдельного экземпляра (используя новое ключевое слово), который вам нравится.Внутри цикла вы можете получить пользовательские входные данные для установки значений экземпляра (имя и идентификатор учащегося).

...