在scala中是否相当于c#nameof?

时间:2017-06-30 00:50:34

标签: c# scala

在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?

由于

2 个答案:

答案 0 :(得分:4)

在Scala中,它可以由(宏)库完成,而不需要特殊的语言级支持。 https://github.com/dwickern/scala-nameof有一个。

答案 1 :(得分:3)

在Scala中没有任何与C#类似的方法,如果你真的想要这个函数,你可以使用scala-reflection