1

是一种使用 C# 在块中设置对象属性的方法,类似于您编写对象初始化程序的方式吗?

例如:

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

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

例如:

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

4 回答 4

1

你可以这样做;假设你有一个名为鸭嘴兽的类。

你爷爷的方式:

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)"
};
于 2015-12-04T23:19:53.150 回答
0

您可以使用属性初始值设定项来做到这一点。

Button x = new Button { Text = "Button", BackColor = Color.White };
于 2015-12-04T23:19:39.550 回答
0

可能是你想要的吗?

Button x = new Button();
x.Text = "Button";
x.BackColor = Color.White;
于 2015-12-04T23:14:11.527 回答
0

这种形式

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

仅是构造函数和构造函数语法的一部分。您不能在下一行使用相同的语法。但是,您可以省略(),并将 avar用于变量类型,以使您更紧凑;

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

构建完成后,唯一的更新方法是通过正常的赋值操作;

x.Text = "Button";
于 2015-12-04T23:19:55.643 回答