用于快速属性分配的Visual Studio Shortcu /语法

Jos*_*eph 3 c# properties visual-studio-2010

假设你有一个班级

public class Person

{

public int PesronId{get;set;}

public string FirstName{get;set;}

public string LastName{get;set;}

public string Gender{get;set;}

}
Run Code Online (Sandbox Code Playgroud)

现在我们创建一个对象p1

Person p1 = new Person();
Run Code Online (Sandbox Code Playgroud)

接下来,我们将文本框中的值分配给p1,例如.

p1.PersonId = textbox1.text;

p1.FirstName = textbox2.text; 

p1.LastName = textbox3.text;
Run Code Online (Sandbox Code Playgroud)

在Visual Studio 2010中是否有更有效的方法,我会得到这样的东西

p1.PersonId =

p1.FirstName = 

p1.LastName = 
Run Code Online (Sandbox Code Playgroud)

所以我不必手动输入p1的属性.

或者是我可以使用的替代语法.

Jon*_*eet 6

代码的语法更简单:

Person p1 = new Person
{
    PersonId = textbox1.Text,
    FirstName = textbox2.Text,
    LastName = textbox3.Text
};
Run Code Online (Sandbox Code Playgroud)

这是C#3中引入的对象初始化语法.

我想我误解了这个问题 - 听起来你只是想减少所需的打字.可能会有一些东西可以做到这一点,但我个人觉得IntelliSense本身就很好.之后代码的可读性比打字时间IMO重要得多.

您可能还希望向Person添加构造函数以获取所有相关的属性值 - 这也会简化事情,并且使用C#4的命名参数支持,您可以保留可读性.