【发布时间】:2021-09-02 00:17:01
【问题描述】:
我目前正在调查列表(或数组,我在这篇文章中使用“列表”与数组一样,因为可以在需要时将数组转换为列表)的一些问题
例如我有
List<Car> cars = new List<Cars>();
我的 Car 对象是这样制作的
public class Car
{
public double Weight {get; set;}
public double TopSpeed {get; set;}
public int NumberOfPassengers {get; set;}
public string ModelName {get; set;}
}
在监视列表中,我想查看列表中的项目,但只关心ModelName 属性。有什么方法可以让我在监视列表中显示扩展列表并且只显示ModelName 属性?
目前,当我展开列表时,它显示它包含 4 个元素,并且在 Value 列中它只显示 (somename.namespace.Car)。所以我需要进一步扩展列表的每个元素以查看所有属性,但如果列表变长或列表中有很多元素,这会变得混乱。一个约束 --> Car 类不在我的控制之下,因此我不能覆盖它的 ToString() 方法或使用 [DebuggerDisplay()]。
我尝试使用 Linq ForEach(x => Console.write(x.modelName) 但这不起作用。
我很高兴收到任何建议或提示 :-)
【问题讨论】:
-
看看here,不同的窗口,但它应该可以为你解决问题。
-
您是否可以从
Car类继承并创建自己的public class MyCar: Car {}类,您可以在其中覆盖ToString()方法? -
是的,这是可能的。但我正在明确寻找一种无需更改源代码的方法。因为这通常需要重新编译并因此重新启动应用程序。
标签: c# visual-studio debugging watch