如何在 class c# 中使用对象名称

How to Use the objects name in a class c#

在这种情况下我想打印 m2k: salt:2 技能: 有办法吗?
以某种方式获取我们正在使用的对象的名称

namespace practice
{
class SmashPlayer
{
    private int salt, skill;
    public SmashPlayer(int salt, int skill)
    {
        this.salt = salt;
        this.skill = skill;
    }
public void print()
    {
        Console.WriteLine("{0}'s\nsalt:{1}\nskill:{2}",Name of object,salt,skill);
    }

}
class Program
{

    public static void Main(string[] arg)
    {



        SmashPlayer m2k = new SmashPlayer(2,5);
        m2k.print();

    } 
  }
}

你不能那样做。您需要将字符串传递给构造函数。

SmashPlayer m2k = new SmashPlayer (2, 5, "m2k");

当然你需要给那个构造函数添加新的参数并保存在实例字段中。

为避免重构问题,您可以使用 nameof 运算符。

SmashPlayer m2k = new SmashPlayer (2, 5, nameof (m2k));

这真的不可能。 简单例子:

SmashPlayer m2k = new SmashPlayer(2,5);
SmashPlayer m2k_again = m2k;

两个变量,但是是class的同一个实例,变量名应该写什么? m2k 或 m2k_again ?

查看启示录的答案以获得可能的解决方案。