在Scala中是否有类似于C# nameof 的等效功能?

4

在c#中,我可以编写类似于以下代码(我在Linqpad 5上运行了它):

void Main()
{
    new Test { Property1 = 100 }.Dump();
    Console.WriteLine(nameof(Test.Property1));
}

class Test
{
    public int Property1 { get; set; }
    override public String ToString()
    {
        return $"{nameof(Property1)}={Property1}";
    }
}

有没有 Scala 中的 nameof 等价物?
谢谢。

也许你想要的是这个!希望这能帮到你。https://dev59.com/lHA75IYBdhLWcg3wy8Qi - Frank
1
"Property1" 可以使用。 - pedrofurla
什么是Scala? - Lei Yang
@pedrofurla nameof 的好处在于它在编译时被转换为字符串,但它仍然是一个符号引用,因此可以可靠地通过源属性进行重构。 - Richard Szalay
@LeiYang 一种运行在JVM上的函数式编程语言。http://scala-lang.org - Richard Szalay
@Frank:我的目标是避免使用魔术字符串。C# 中的 nameof 可能得到编译器的支持。 - boggy
2个回答

5

3

在Scala中没有像C#中那样的类似方法。如果你真的需要这个函数,那么你可以使用Scala反射


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接