在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?
由于
答案 0 :(得分:4)
在Scala中,它可以由(宏)库完成,而不需要特殊的语言级支持。 https://github.com/dwickern/scala-nameof有一个。
答案 1 :(得分:3)
在Scala中没有任何与C#类似的方法,如果你真的想要这个函数,你可以使用scala-reflection。