Словарь С# в TypeScript?

Как мне реализовать интерфейс TypeScript для определения этих моделей С#:

public class PageModel
{
 public long Id { get; set; }
 public string Name { get; set; }
 public IDictionary<string, fieldmodel=""> Fields { get; set; }
}
public class FieldModel
{
 public long Id { get; set; }
 public string Name { get; set; }
 public string Type { get; set; }
 public string DataType { get; set; }
 public string DefaultValue { get; set; }
}
</string,>
1 ответ

Если вы ищете интерфейсы только тогда:

interface PageModel {
 Id: number;
 Name: string;
 Fields: { [key: string]: FieldModel };
}
interface FieldModel {
 Id: number;
 Name: string;
 Type: string;
 DataType: string;
 DefaultValue: string;
}

Некоторые отличия:

  • Javascript не имеет понятия long/integer/******, все числа
  • В простой реализации карты, основанной на нотации объектов js, ключи являются только строками. В typescript они называются Индексируемые типы
  • Пока вы получаете использование get/set внутри классов, интерфейсы не имеют этого, и вы можете определить его свойство.

licensed under cc by-sa 3.0 with attribution.