Visual Studio 2015 — создание класса во время выполнения

Упростит ли Visual Studio 2015 создание классов во время выполнения и поможет ли с легкостью вводить динамический код?

Позвольте мне объяснить немного больше об этом. Если у меня есть набор сущностей и атрибутов. Каков наилучший способ разрешить пользователю приложения изменять эти объекты и атрибуты ИЛИ добавлять новые объекты и атрибуты, не касаясь базового кода. Будет ли Рослин лучшим кандидатом для этого?


person Satyajit    schedule 26.07.2015    source источник
comment
Что точно вы подразумеваете под созданием класса во время выполнения? Ваш вопрос слишком неясен, чтобы ответить на него в данный момент.   -  person Jon Skeet    schedule 26.07.2015
comment
@JonSkeet Спасибо. Я пытаюсь разрешить пользователю динамически создавать файл класса модели и использовать его во время выполнения в приложении.   -  person Satyajit    schedule 26.07.2015
comment
Так вы действительно имеете в виду во время выполнения в приложении, вообще ничего общего с Visual Studio?   -  person Jon Skeet    schedule 26.07.2015
comment
@JonSkeet Wandering, если C # 6.0 и Roslyn дадут нам что-то интересное в этом и облегчат эту задачу.   -  person Satyajit    schedule 26.07.2015
comment
Я подозреваю, что C# 6 в основном не имеет значения, но Roslyn может быть очень актуальным. Да, если вы включите Roslyn в качестве зависимости в свое приложение, вы сможете легче генерировать и компилировать типы во время выполнения, чем раньше.   -  person Jon Skeet    schedule 26.07.2015
comment
Спасибо @JonSkeet. У вас есть хорошая ссылка/предложение для того же самого. Я уверен, вы должны иметь некоторые.   -  person Satyajit    schedule 26.07.2015
comment
Я бы просто искал учебники по Roslyn и читал документацию в репозитории Roslyn на github.   -  person Jon Skeet    schedule 26.07.2015
comment
@JonSkeet Большое спасибо   -  person Satyajit    schedule 26.07.2015
comment
@JonSkeet Я разработал вопрос с примером сценария.   -  person Satyajit    schedule 27.07.2015


Ответы (2)


Вы описываете скрипты, и хотя это один из предполагаемых сценариев Roslyn, скриптовые API все еще находятся в стадии разработки. Как отвечает @SLaks на этот вопрос, они были удалены из релизной версии Roslyn, но доступны в ночных сборках.

Если вы погуглите «Roslyn scripting», вы найдете несколько руководств, например этот.

API сценариев уже используются scriptcs для создания среды сценариев для C#. scriptcs по-прежнему требует предварительной версии Roslyn именно потому, что API-интерфейсы сценариев были извлечены из версии выпуска.

person Panagiotis Kanavos    schedule 27.07.2015

Visual Studio 2015 работает достаточно хорошо, я использую ее в своей работе для проектов .NET. С этим языком довольно просто динамически генерировать код, даже классы. Когда вы генерируете классы, вы должны генерировать их откуда-то:

  • Первая модель: вы создаете схему, и она генерирует из них класс с помощью Entity Framework. Довольно простой, но мощный
  • Сначала база данных: вы создаете таблицы внутри базы данных, и она генерирует схему и классы, менее полезные

Я по-прежнему сначала имею дело с кодом (сначала классы), потому что мне нравится делать это сложным путем, больше контролировать то, что я делаю.

Конечно, это зависит от того, с каким языком вы хотите работать, но Visual Studio 2015 — отличный инструмент для меня.

person Thomas M.    schedule 26.07.2015
comment
Я не думаю, что это на самом деле то, о чем спрашивает вопрос. - person Jon Skeet; 26.07.2015
comment
Спасибо. Но я ищу, могу ли я даже позволить пользователю моего приложения определить класс в моем скомпилированном приложении. - person Satyajit; 26.07.2015
comment
ОП спрашивает о сценариях, а не о генерации кода. - person Panagiotis Kanavos; 27.07.2015