Предположим следующее определение класса с помощью машинопись в Animal.ts:
module Animals
{
export class Animal { }
}
Если я хочу, чтобы создать класс собак в отдельном файле, скажем, в Dog.ts с помощью этого кода:
module Animals
{
export class Dog extends Animal { }
}
название «Animal» не существует в текущей области видимости, является ошибкой я получаю в определении класса Dog.
Добавление следующей строки в Dog.ts
/// <reference path=Animal.ts/>
фиксирует ошибку компиляции, но почему это необходимо, если оба класса определяется в том же модуле?
Другими слова, я хочу декларацию модуля, чтобы охватить через файлы с каждым классом или определением интерфейса в их собственном файле. Это даже лучшая практика?













