У меня есть этот код (обрезанный):Машинопись: Сложение: Прилагаемые параметры не соответствуют какой-либо подписи цели вызова
class cSubjectSite {
collectionHomeMarker: Microsoft.Maps.EntityCollection;
showAddressMarker() {
var opts: Microsoft.Maps.EntityCollectionOptions = {
zIndex: zIndex_HomeMarker, bubble: true, visible: true
};
}
// Compiler error on this line:
this.collectionHomeMarker = new Microsoft.Maps.EntityCollection(opts);
}
Это выглядит хорошо для меня. Вот из декларации Microsoft.Maps.d.ts:
export interface EntityCollectionOptions {
bubble?: boolean;
visible?: boolean;
zIndex?: number;
}
export class EntityCollection implements Entity {
EntityCollection(options?: EntityCollectionOptions);
// Etc.
Существует также вторая декларация файл Я использую (Microsoft.Maps.AdvancedShapes.d.ts) для расширенных возможностей, которые имеют другое определение для EntityCollection:
export class EntityCollection implements Entity {
constructor(options?: EntityCollectionOptions);
Похоже, что два файла def нацелены на разные версии ts (разные синтаксисы конструктора)? Я не знаю достаточно о файлах def, чтобы сказать.
Я использую VS 2013 с ts 1.5. Я убедился, что переменная path и мой файл proj ссылаются на v1.5. Я получил свои файлы Bing Maps def от Nuget.
Я новичок в машинописном тексте, поэтому мне может быть недостает чего-то фундаментального.
- Брэд
Файл с идентификатором от [ОпределенноТип] (https://github.com/borisyankov/DefinitelyTyped). Нет Microsoft.Maps.EntityCollectionOptions, но есть объект [Microsoft.Maps.EntityCollectionOptions] (https://msdn.microsoft.com/en-us/library/gg427614.aspx), и, таким образом, файл def включает его для ввода цели. Я не знаю, насколько хорошо это обернуто, поэтому я включил фрагменты из файла def, чтобы кто-то мог видеть, есть ли там что-то не так. –