Нужно ли переписывать классы C # в JavaScript?

1

У меня есть проект, содержащий логику для моего приложения.

Я опубликовал сервис отдыха, который принимает вход JSON, который передается в фоновый код и работает с ним.

Теперь я создаю веб-интерфейс, который позволяет пользователям создавать необходимый JSON.

У меня есть классы С#, такие как

public class Template 
{
    public string TemplateName {get; set;}
    public List<Column> Columns {get; set;}
}

public class Column
{
    public string ColumnName {get; set;}
}

Поэтому я повторно создавал эти классы в JavaScript.

function Template(templateName, columns) {
    this.TemplateName = name;
    this.Columns = columns;
}


function Column(columnName) {
    this.ColumnName = columnName;}

И моя веб-страница имеет некоторые текстовые поля, в которые я вводил информацию, и из этой информации я создаю объекты, а затем конвертирую их в JSON.

    $scope.buttonClick = function () {

        var column = new Column('cName',$scope.selectedDataType,
            $scope.selectedDataType,
            $scope.selectedGenerator,
            'TEST');

        var columns = [];
        columns.push(column);

        var template = new Template($scope.TemplateName, $scope.RowCount, columns);

        var jsonbody = JSON.stringify(template);

        console.log(jsonbody);
    }

Я, очевидно, повторяю работу здесь, переписывая все классы в JS и что FEELS ошибается. Есть ли способ лучше? Должен ли я делать что-то другое?

  • 1
    Это не JS, но Typewriter - это расширение VS, которое генерирует TypeScript из файлов C #. Подобные расширения, вероятно, существуют для JS.
  • 1
    Я собираюсь на второй Typescript. Это расширенный набор javascript и обеспечивает безопасность типов. Если вы идете по этому пути, предпочтительным методом будет создание интерфейса TypeScript для каждого типа C #, с которым должен работать код вашего скрипта. Используя инструмент или расширение vs, просто генерировать интерфейсы машинописного текста из кода на C #.
Теги:

1 ответ

1

Я бы сказал, это зависит. Если у вас небольшое приложение с несколькими классами, вы можете решить, что накладные расходы относительно низки, и нет никакой пользы для чего-либо еще. Однако вы правы, чтобы сказать, что это неправильно. Выполнение всего вручную открывает вам всевозможные потенциальные ошибки.

Как упоминает Эми, существуют инструменты с низким уровнем воздействия, такие как пишущая машинка, которые позволяют создавать эквивалентный машинописный текст.

Если ваше приложение больше, вам может показаться полезным начать использовать что-то вроде NSwag, которое расширяет Swagger и позволяет вам иметь больше сквозного решения для связывания вашего клиентского приложения с вашими API.

Между ними много вариантов и точек.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню