积分1552 / 贡献20

提问18答案被采纳61文章39

用artts的反射出现的奇怪问题

深开鸿_王石 显示全部楼层 发表于 2024-3-27 10:37:39

想用ts的反射知道object的属性,和类型,比如

import hilog from '@ohos.hilog';
let hilogPropertyNames = Object.keys(hilog);
            hilog.info(0x0000, 'testTag', `属性数量: ${hilogPropertyNames.length} 名称:${hilogPropertyNames} 类型:${typeof hilog[hilogPropertyNames[0]]}`);

然后就得到了:

属性数量: 1 名称:LogLevel 类型:function

hilog是这样的,所以就感觉数量和类型都不对;

declare namespace hilog {
    function debug(domain: number, tag: string, format: string, ...args: any[]): void;
    function info(domain: number, tag: string, format: string, ...args: any[]): void;
    function warn(domain: number, tag: string, format: string, ...args: any[]): void;
    function error(domain: number, tag: string, format: string, ...args: any[]): void;
    function fatal(domain: number, tag: string, format: string, ...args: any[]): void;
    function isLoggable(domain: number, tag: string, level: LogLevel): boolean;
    enum LogLevel {
        DEBUG = 3,
        INFO = 4,
        WARN = 5,
        ERROR = 6,
        FATAL = 7
    }
}

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

s_hao

沙发 发表于 2024-6-27 20:37:16
Object.keys()获取的是对象里枚举类型参数,hilog类中只有一个枚举类型,所以返回是正常的。

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部