获取类名称作为TypeScript中的类型

问题描述

在TypeScript 4.1中,是否可以获取类名或函数名作为文字字符串类型?

例如

template<typename T>
using signalType = void(T::*)();

template<typename T>
signalType<T> getdisconnectedSignal(T*)
{
    return &T::disconnected;
}

QObject::connect(
    clientsocket,getdisconnectedSignal(clientsocket),[=](){ disconnected(clientsocket); }
);

编辑(扩展用例)

由于第一个示例不够明确,可以使用class Foo { } type Tpl = `${Foo["name"]}_${"a" | "b" | "c"}`; // error // should be // "Foo_a" | "Foo_b" | "Foo_c" 作为类型(此处为其他类型)进行解析。

"Foo_a" | "Foo_b" | "Foo_c"

Playground Link

我看到了“ nameof”运算符建议,但希望不是“答案”。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)