【问题标题】:how can I access typescript class public property at run time (debugging)? only the constructor and functions are accessible如何在运行时访问 typescript 类公共属性(调试)?只能访问构造函数和函数
【发布时间】:2013-12-12 01:56:08
【问题描述】:

我正在 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等属性。如何访问这些属性?是否可以?

【问题讨论】:

    标签: javascript typescript


    【解决方案1】:

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

    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()

    【讨论】:

    • 谢谢巴萨拉特。不过有多大的限制。
    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 2014-01-26
    • 2019-05-21
    • 2016-01-09
    • 1970-01-01
    • 2011-12-23
    • 2016-07-26
    • 2015-02-11
    相关资源
    最近更新 更多