C#:在单个块中设置对象的属性

C# : Setting the properties of an object in a single block

是否有一种使用 C# 设置块中对象属性的方法,类似于您编写对象初始值设定项的方式?

例如:

Button x = new Button(){
    Text = "Button",
    BackColor = Color.White
};

是否有类似这样的语法可以在创建对象后作为属性?

例如:

Button x = new Button();
x{
   Text = "Button",
   BackColor = Color.White
};

可能是你想要的?

Button x = new Button();
x.Text = "Button";
x.BackColor = Color.White;

您可以使用 属性 初始值设定项执行此操作。

Button x = new Button { Text = "Button", BackColor = Color.White };

你可以这样做;假设你有一只名为 Platypus 的 class。

你爷爷的方式:

Platypus p = new Platypus();
p.CWeek = "1";
p.CompanyName = "Pies from Pablo";
p.PADescription = "Pennsylvania is the Keystone state (think cops)";

新奇的方式:

Platypus p = new Platypus
{
    CWeek = "1",
    CompanyName = "Pies from Pablo",
    PADescription = "Pennsylvania is the Keystone state (think cops)"
};

这个表格

Button x = new Button(){
    Text = "Button",
    BackColor = Color.White
};

是构造函数和仅构造函数的语法的一部分。您不能在下一行使用相同的语法。不过,您可以省略 (),并使用 var 作为变量类型,以提供更紧凑的形式;

var x = new Button{
    Text = "Button",
    BackColor = Color.White
};

构造完成后,只能通过正常的赋值操作进行更新;

x.Text = "Button";