每当我在代码中创建UIElement时,我都会这样做:
Button button = new Button();
button.Content = "Click Me!";
然后我在某处看到了这种语法,并想知道它叫什么。我从来没有在任何.NET书籍中看到过它:
Button button = new Button { Content="Click Me!" };
这显然很好,因为它简洁明了。所以我想我的问题是:
我也很难找到设置CornerRadius和StrokeThickness等属性的正确方法,并认为#1的答案可能会帮助我进行更智能的搜索查询。
答案 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)
它被称为对象初始化器,它没有任何缺点。