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 という名前のクラスがあるとします。

あなたの祖父のやり方:

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();
x.Text = "Button";
x.BackColor = Color.White;
于 2015-12-04T23:14:11.527 に答える
0

これは、プロパティ初期化子を使用して行うことができます。

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

この形

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

コンストラクターおよびコンストラクターのみの構文の一部です。次の行で同じ構文を使用することはできません。ただし、を省略して、変数の型に()a を使用するvarと、よりコンパクトになります。

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

構築後、それを更新する唯一の方法は、通常の代入操作を使用することです。

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