Visual Studio将类的所有属性转储到编辑器中

好的,这里有一个为视觉工作室提供了许多方便的小插件的人,或者可以帮助按键序列。

假设我有一个Person类:

class Person { string Name { get; set; } int Age { get; set; } } 

而且我正忙着快​​乐地编码。 我经常会遇到需要为该类的所有属性赋值的情况,或者将属性的所有值分配给其他属性。

 public override void CopyTo(Person myPerson) { myPerson.Name = "XXX"; myPerson.Age = 11; } 

我想生成这个部分:

 myPerson.Name myPerson.Age 

即只需将myPerson的所有属性转储到一个小列表中。 在Visual Studio编辑器中。

我安装了resharper,我快速浏览了一个专门做这个的实用程序,但我找不到一个。 有人可以帮忙吗?

以下是Visual Studio 2017中适合我的内容:

打开类编辑器

Cntrl + Shift + C.

然后在弹出的“类视图”窗口中选择包含所显示结构中所需属性的类名。 该类的所有属性都将在下面的窗口窗格中列出。 按住Shift并单击第一个属性,然后按住Shift键并单击列表中的最后一个属性。 然后右键单击并从弹出菜单中选择复制选项。 您可以从那里粘贴到Visual Studio中。 第一个粘贴将如下所示:

Person.Name Person.Age

从那里你可以在每个房产后放置一个回车,所以他们最终分开。

您可以使用C#Interactive Window ,它是Visual Studio 2015的一部分

 > #r "C:/MyApp/bin/Debug/Foo.dll" > using MyApp; > var personType = typeof(Person); > var personProperties = personType.GetProperties(); > foreach(var personProperty in personProperty) { Console.WriteLine($"{nameof(Person)}.{personProperty.Name}"); } 

当然这可以缩短,但这会告诉你如何使用它。

另外,要设置类所在的项目,可以右键单击Solution Explorer,然后选择“使用项目初始化交互”。

Visual Commander有一个示例命令 (3.复制到Visual Studio文本编辑器中所选类的剪贴板属性),您可以进一步自定义场景。

您所要做的就是在Visual Studio的立即窗口中打印出对象,您不需要R#。

例如?myPerson

所有属性都会按照您的要求打印出来。

类的值列表

C#立即窗口很棒! 这是一个单行程序,可以打印出所需格式的属性。 只需使用它来满足您的需求:

 typeof(MyApp.Person).GetProperties().Select(x => x.Name).Aggregate((x, y)=>x +", " +y)