2013-05-20 2 views
39

У меня есть библиотека C# (сборка), которая содержит набор DTO, которые я использую для заполнения моих моделей нокаутов (машинопись).DTO для генератора TypeScript

Я хотел бы убедиться, что соответствие между данными JSON и ViewModel является правильным.

Есть ли инструмент, который может генерировать классы машинописного текста из моих классов C#? Что-то вроде T4 или подобное (или просто инструмент командной строки, который запускается как событие POST-сборки)?

(не отметить, что файлы машинопись должны быть размещены в другом проекте при сборке DTO)

+0

бы это сделать работу - вы можете задать пользовательские сборки который будет запускаться из командной строки - http://www.c-sharpcorner.com/UploadFile/SamTomato/visual-studio-2010-typescript-build-tool/ –

+0

@RachelGallen: Нет, он преобразует машинопись в javascript. Я хочу, чтобы C# был машинописным. – jgauffin

+0

Нет, он не имеет острый как вариант, и он делает это так, как вы хотите. есть еще один взгляд –

ответ

37

Йуп проверить эту прекрасную TypeLITE проекта: http://type.litesolutions.net/

+0

TypeLITE [не поддерживает .NET Core] (https://bitbucket.org/LukasKabrt/typelite/issues/123/not-working-with-core-10) –

+0

Вопрос закрыт, поэтому я пишу свой ответьте здесь. Попробуйте [TypeWriter] (https://github.com/frhagn/Typewriter), расширения Visual Studio, которые генерируют файлы TypeScript из кода C#, используя шаблоны TypeScript. Ознакомьтесь с [примером] (http://frhagn.github.io/Typewriter/pages/examples.html) для доступа к контроллерам Web API в Angular. –

+0

Я опубликовал пакет на [nuget.org] (https://www.nuget.org/packages/TypeScriptModelsGenerator), который может сделать трюк с отражением. Вы можете объединить модели с регулярным выражением имен типов или имен. Это библиотека классов .Net Standard 2.0. – Gyocol

6

Существует новая библиотека называется TypeScriptD, которая будет создавать .d.ts файлы для ваших классов .NET.

Это может быть запущено как команда и работает для .NET или winmd.

+0

, но он не может быть установлен через nuget. –

3

У меня была аналогичная потребность, но я обнаружил, что существующие проекты так или иначе были ограничены (багги, никаких дженериков, никаких методов и т. Д.), Поэтому я закончил свой собственный (http://cjlpowers.github.io/TypeScripter/). В моем случае я имел дело с типами ServiceContract/DataContract на сервере и нуждался в файлах .d.ts, чтобы помочь развитию клиентской стороны. Решение можно расширить, если вам нужно его настроить.

+0

@gotqn Он * делает * дает точный и краткий ответ на вопрос, хотя тот, который может считаться только ссылкой. Обратите внимание на очередь просмотра, пожалуйста. –

7

Проверьте проект с открытым исходным кодом NSwag: с помощью графического интерфейса вы можете выбрать .NET-класс из существующей сборки и сгенерировать для него интерфейс TypeScript.

screenshot

Существует также утилита командной строки, а также поддержка шаблонов T4, а также формирование клиентского кода для контроллеров Web API ...

Смежные вопросы