这个元素实例化方法叫做什么?

时间:2009-12-09 21:52:26

标签: wpf object element instantiation creation

每当我在代码中创建UIElement时,我都会这样做:

Button button = new Button();
button.Content = "Click Me!";

然后我在某处看到了这种语法,并想知道它叫什么。我从来没有在任何.NET书籍中看到过它:

Button button = new Button { Content="Click Me!" };

这显然很好,因为它简洁明了。所以我想我的问题是:

  1. 它叫什么?
  2. 以这种方式实例化UIElement有什么缺点吗?
  3. 我也很难找到设置CornerRadius和StrokeThickness等属性的正确方法,并认为#1的答案可能会帮助我进行更智能的搜索查询。

4 个答案:

答案 0 :(得分:5)

1:“对象初始化程序”

2:不;它对代码示例非常方便,特别是; -p

在对象初始值设定项中无法做到的事情:

  • 订阅活动
  • 在同一个集合实例上集合初始化器 (初始化器 对象初始化器(设置属性)集合初始化器(添加项目)

你可以通过作弊来克服这些限制:

Button btn;
Form form = new Form { Text = "Hi", Controls = { (btn = new Button()) }};
btn.Click += delegate { ... };

答案 1 :(得分:2)

.Net 3.5增强了对象初始化器,它只是一种速记机制。

答案 2 :(得分:2)

<强> Object Initializer

引擎盖下做同样的事情。第二个选项使用一行而不是两行,这是很好的&amp;简洁。 .NET&gt; =仅限<3.5>

答案 3 :(得分:0)

它被称为对象初始化器,它没有任何缺点。