如何在 Visual Studio 中生成包含所有属性的 ToString()?

Hoo*_*ude 4 c# tostring visual-studio

我是一名 Java 开发人员,习惯于 Eclipse 中的“生成 toString()”选项,该选项提供完整的 toString,打印所有实例变量的值。我只是在 Visual Studio 中寻找类似的快捷方式。

我已经看到如何开始输入方法,“公共覆盖”和自动完成将存根 ToString() 但它不会用所有类属性填充它。

    public override string ToString()
        {
            return base.ToString();
        }
Run Code Online (Sandbox Code Playgroud)

我希望生成的方法包含类的所有属性。

Raw*_*aew 10

您可以使用 JSON.NET 来序列化您的类。

public override string ToString()
{
    return JsonConvert.SerializeObject(this);
}
Run Code Online (Sandbox Code Playgroud)


Ble*_*ose 7

选项 1:反射

你可以通过使用反射来做到这一点。但是,如果您必须在短时间内频繁调用该方法,则可能会导致性能问题。用反射编码并不是那么简单。



选项 2:Resharper

Visual Studio 插件 Resharper 具有以下功能:

alt + 插入 -> 生成 -> 格式化成员 -> 全选 -> 完成



选项 3:Fody/ToString nuget 包

当您只需要公共属性时,这可能是最简单的解决方案。它不适用于公共领域。