如何转换本地 到一个字符串?

问题描述 投票:0回答:1

离开一段时间后,有些事情发生了变化。我曾经能够做到这一点:

void ObjectTemplateProxy::GetProperty(Local<String> hName, const PropertyCallbackInfo<Value>& info)
{
    auto hStr = hName->ToString();

但现在我需要一个隔离,参数类型改为Local<Name>。然后我尝试了这个:

auto hStr = hName->ToString(info.GetIsolate());

但这仍然无效,因为hStr为空。它是null,因为事实证明,名称实际上是Symbol类型而不是String。我没有看到任何方法将符号转换为字符串,我需要做的是通过P / Invoke将名称发送到C#CLR以使用字符串键从字典中提取值。

v8 embedded-v8
1个回答
0
投票

因此,似乎Name()类型上有一个Symbol函数返回String。我正在寻找Symbol类型的功能,并没有找到一个(必须错过它)。有效的代码是hName.As<Symbol>()->Name().As<String>();

如下面评论中所述,Symbol()不需要有名字,所以要小心!

© www.soinside.com 2019 - 2024. All rights reserved.