Я должен генерировать тип во время выполнения, потому что тип может измениться. Для типа - я знаю название каждого поля (свойства) и их тип. Данные для этого типа поступают из REST API в виде списка пар ключ / значение. Когда я получаю эти данные, мне нужно сопоставить их с правильным типом / классом / моделью, чтобы впоследствии я мог связать массив этого типа с сеткой.
Я посмотрел на интерфейс с динамическими ключами, но проблема в том, что мне приходится жестко кодировать название ключа. Я также посмотрел на тип «Запись» в машинописном тексте, но здесь также я, чтобы установить значение для каждого ключа, я не могу использовать переменную - мне нужно жестко ее кодировать - ОК, я могу попытаться составить список ключей из моего , но как я могу присвоить ему значение без жесткого кодирования.
// Это моя функция для генерации массива нового типа (скажем, MYNEWTYPE) из массива Todo
// Todo имеет список свойств TodoProperties, хранящихся в виде пары ключ / значение
public CreateNewArray (TodoList: Array): void {
TodoList.forEach ((d) => {
d.ToDoPropertiesDto.forEach((p)=>{
//TodoProperties is alist of key/value pair (for example [{"Name":"Owner","Value":"MrJay"},{"Name":"Occupation","Value":"Engineer"}])
// What I want is for example if p.Name=Owner then assign p.value to MYNEWTYPE.Owner
});
}); * * 1 010
}
Ожидаемый результат - массив MYNEWTYPE, где каждое поле / свойство получает значение, полученное из пары ключ / значение. Проблема в том, что когда-нибудь они захотят добавить новый набор пар ключ / значение, поэтому я должен создать свой новый тип из этого списка пар ключ / значение