Эквивалент виртуального члена класса c # в TypeScript - PullRequest
0 голосов
/ 27 апреля 2018

Итак, в C #, когда я создавал классы моделей и лениво загружал вещи, я делал что-то вроде этого:

public int? User_ID { get; set; }
public int? Dept_ID { get; set; }

Затем, немного дальше в моем классе, я захожу в свои виртуалы вот так:

public virtual User User {get; set;}
public virtual Department Dept {get; set;}

Как бы я сделал это в Typescript? Как то так?

User_ID: number;
Dept_ID: number;
User: User;
Dept: Department;

Я не думаю, что интерфейсы - это то, что мне нужно / нужно ... но опять-таки защита тоже не кажется правильной. Что-то подсказывает мне, что я упускаю очевидный ответ здесь.

1 Ответ

0 голосов
/ 27 апреля 2018

Следующее в равной степени относится к TypeScript и JavaScript:

Нет эквивалента.

Каждый доступ к элементу в JavaScript является предметом динамической отправки по определению. Это связано с тем, что доступ к элементам в JavaScript является моральным поиском ключа в хеш-таблице.

Объект может объявить элемент с тем же именем, которое он наследует через цепочку прототипов, и, таким образом, shadow унаследованный член, но это не то же самое, что виртуальность, концепция, отсутствующая в языке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...