class MockFamily implements IFamily {
static instances: MockFamily[] = [];
constructor (nodeClass: { new (): Node; }, engine: Engine) {
MockFamily.instances.push(this);
}
/* sniiiiiip */
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中是否有任何方法可以instances在不使用实际类名的情况下从构造函数中访问静态值?
始终通过类名访问静态变量.类对象充当具有属性的对象.你最接近的可能是:
with (MockFamily) {
instances.push(this);
}
Run Code Online (Sandbox Code Playgroud)
虽然我不推荐它.
模块是另一回事.在运行时,它们的内容是函数作用域中的变量,几乎可以在任何地方直接访问.
module MyModule {
var instances: IFamily[] = [];
export class MockFamily implements IFamily {
constructor (nodeClass: { new (): Node; }, engine: Engine) {
instances.push(this);
}
/* sniiiiiip */
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2091 次 |
| 最近记录: |