Как избежать конфликта пространств имен, заканчивающихся на одном и том же слове в машинописи - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть пространство имен, сгенерированное кодом

declare namespace Form.crg_contract.Main { ...auto generated code... }

У меня есть свое собственное пространство имен, где я ссылаюсь на приведенное выше, но оно продолжает думать, что ссылается на себя, поэтому не может видеть из .crg_contract

    namespace CRG.Contact.Form { 
declare var Xrm: Xrm<Form.crg_contract.Main.Information>;
        }

мысли ???

1 Ответ

0 голосов
/ 29 ноября 2018

Похоже, вы не можете получить доступ к глобальному объекту с тем же именем.

Соответствующая проблема TypeScript была отклонена некоторое время назад: https://github.com/Microsoft/TypeScript/issues/983

Мотивация: "Вы в основном вышли изудачи, потому что у JavaScript есть лексическая область видимости. С помощью TypeScript вы не сможете получить доступ к внешнему объекту с тем же именем. "

Вы можете придумать псевдонимы, как показано ниже, если это имеет смысл в структуре вашего проекта.Или просто немного измените имена.

namespace Form.crg_contract.Main { 
    export class Information {
    }
}

namespace Local {
  export import Main = Form.crg_contract.Main;
}

namespace CRG.Contact.Form { 
    var test: Local.Main.Information;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...