Если дано задание написать привет в C # ... используя рефлексию, каковы умные способы использования рефлексии? - PullRequest
1 голос
/ 12 августа 2010

Мне дали задание "для удовольствия" написать приложение "Hello World".Единственным условием является то, что я использую отражение, не существует определенного способа, которым это условие должно быть выполнено, но умные, элегантные или «крутые» применения - это весело.Помимо добавления внешней библиотеки или выполнения какого-либо вида контейнера композиции IHelloWorldMessageProvider, я не вижу много вариантов.Кто-нибудь хочет меня просветить?

Ответы [ 2 ]

3 голосов
/ 12 августа 2010

Лично, если бы я хотел написать сложное и интересное приложение Hello World с использованием рефлексии ... Мне бы пришлось использовать динамическую компиляцию.У меня нет времени, чтобы написать полный пример, но рабочий процесс будет выглядеть примерно так:

  1. Запустить приложение.

  2. Создать строкусодержащий код Hello World C #.

  3. Вызов компилятора из приложения для создания DLL во время выполнения.

  4. Использование Reflection для загрузки сгенерированногосборка.

  5. Получите соответствующий тип и метод ... и затем вызовите его (таким образом, показывая сообщение "Hello World").

Посетите эту страницу, объясняя процесс динамической компиляции:

Выполнение динамического кода в .NET

1 голос
/ 12 августа 2010

Строка "hello world" может создаваться динамически во время выполнения путем проверки класса, реализующего ваше приложение. Скажи: class hello { void world() {} }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...