如何在运行时访问typescript类公共属性(调试)?只有构造函数和函数是可访问的

how can I access typescript class public property at run time (debugging)? only the constructor and functions are accessible

本文关键字:访问 构造函数 函数 typescript 运行时 属性 调试      更新时间:2023-09-26

我正在typescript中为我的框架实现一个DI容器,并想知道我的类构造函数参数和用于实例化的属性。这里有一个例子:

interface IDriver 
{
    Drive(): void
}
class DriverA implements IDriver 
{
    public Tickets: Array<Ticket>;
    public Name: String;
    public Drive() {
        //Driving...
    }
}

我将接口名称IDriver作为字符串(因为我无法将接口作为参数传递)和具体类DriverA传递给我的注册例程。在解析状态的后期,为了实例化DriverA,我得到了构造函数和Drive方法,但找不到Tickets和Name等属性。如何访问这些属性?有可能吗?

属性只有在初始化时才可用,例如:

class DriverA 
{
    public Tickets = [];
    public Name = "";
    public Drive() {
        //Driving...
    }
}

将生成:

var DriverA = (function () {
    function DriverA() {
        this.Tickets = [];
        this.Name = "";
    }
    DriverA.prototype.Drive = function () {
        //Driving...
    };
    return DriverA;
})();

注意this.Tickets。PS:它们只有在调用构造函数之后才会被添加。即new DriverA()