Предположим, у меня есть класс, который имеет то же имя, что и ранее определенный тип, который определен внутри lib.d.ts. Как бы я использовал этот тип в этом классе.Тип: Доступ к глобальному типу, скрытому локальным определением класса?
Например, у меня есть класс событие, который имеет дело с браузерами событий объекта, который определен как интерфейс в lib.d.ts.
export class Event { // own definition of Event which hides original Event
public dealWithBrowserEvent(event: Event): void { // Event object defined by lib.d.ts
// deal with it
}
}
Как я могу описать Машину, что это два разных типа. Конечно, я мог бы просто переименовать мой класс, но я не хочу этого делать, потому что это имя идеально подходит для моего использования.
Я бы предложил использовать пространства имен, так как это то, для чего они предназначены (т. Е. Для устранения неоднозначности имен). –
Я не знаю, что TypeScript будет поддерживать реальную концепцию пространств имен. Типы, определенные внутри lib.d.ts, не имеют пространства имен, а код, который я пишу, уже находится в моем собственном «пространстве имен»/модуле. Вот почему я столкнулся с этим именем. Как будет выглядеть решение с использованием пространств имен? – Niabot
Что-то вроде 'module My.Namespace {export class Event {...' Тогда вы можете указать свой класс Event на My.Namespace.Event'. –