我想知道是否有办法在自动构造函数/对象初始化程序块中放置断点?
示例:
var x = new Person()
{
Name = 'John',
Age = DateTime.Now - Birthdate
}
我想把断点放在第4行。当为每个属性设置150个具有不同逻辑的字段时,这非常有用,并且您创建实例的类型不在您的控制之下(例如EF4实体),因此您无法创建自定义构造函数。有什么想法吗?
答案 0 :(得分:4)
您可以用于此问题的解决方法是编写这样的代码以简化调试:
var x = new Person();
x.Name = "John";
x.Age = DateTime.Now - Birthdate;
答案 1 :(得分:1)
将值包装在您想在自调用函数中使用断点的行上:
var x = new Person() {
Name = new Func<string>(() =>"John").Invoke(),
Age = DateTime.Now - Birthdate
};
现在你将能够“踏入”它。但是,它不会有多大用处,因为在块结束之前x将保持为空。
答案 2 :(得分:1)
如果Name
属性不是自动的,您可以在该属性的set
内放置一个断点。
答案 3 :(得分:0)
如果你这样做那么你就不能。您可以在整个块上输出断点并使用F11逐步执行。
为什么不执行以下操作
Person p = new Person();
p.Name = "John";
p.//Blah