【发布时间】:2012-02-17 11:04:26
【问题描述】:
我想知道是否有任何方法可以在自动构造函数/对象初始化程序块中放置断点?
例子:
var x = new Person()
{
Name = 'John',
Age = DateTime.Now - Birthdate
}
我想在第 4 行放置断点。当为每个属性设置 150 个具有不同逻辑的字段并且您创建实例的类型不受您控制(例如 EF4 实体)时,这非常有用,因此您无法创建自定义构造函数。有什么想法吗?
【问题讨论】:
-
Nitpick - 这被称为对象初始化器。需要注意的是,这些属性没有在构建时设置。它们在施工后立即设置。这只是创建实例的语法糖(使用上面示例中的默认构造函数),然后立即分配属性。
-
Nitpickier :) - 不同之处在于:使用对象初始化器,在表面下创建一个临时对象,在设置所有属性后将其复制到可见对象(人)。不同之处在于,永远不会有一个人对象处于未定义状态。
-
如果某些答案符合您的需要,您可以将其标记为最终答案:) 它可以帮助您在其他问题上获得好的答案。
标签: c# visual-studio-2010