140
rated 0 times
[
147]
[
7]
/ answers: 1 / hits: 30321
/ 8 Years ago, thu, december 1, 2016, 12:00:00
Is there any way to have dynamic object properties in a TypeScript class, and add dynamic Typings in for TypeScript?
I have seen similar questions but none with a complete example like this -
interface IHasObjectName {
objectName: string;
}
class example<A extends IHasObjectName, B extends IHasObjectName> {
constructor(a: A, b: B) {
this[a.objectName] = function() { return a; };
this[b.objectName] = function() { return b; }
}
}
class Cat implements IHasObjectName {
objectName: string = ;
}
class Dog implements IHasObjectName {
objectName: string = ;
}
let cat = new Cat();
cat.objectName = Cat;
let dog = new Dog();
dog.objectName = Dog;
let test = new example<Cat,Dog>(cat, dog);
// ??? TYPESCRIPT DOESN'T KNOW ABOUT THESE DYNAMIC PROPERTIES
// HOW DO I MAKE THIS WORK?
let d = test.Dog();
let c = test.Cat();
// I know I could access like this
// let d = test[Dog]();
// but I want to access like function and have it typed
More From » typescript