我刚刚遇到了一些覆盖ToString()
并返回一些关键信息(不仅仅是调试信息)的代码。这种类型的用户调用ToString()
并解析关键数据。
从多年来阅读的各种点点滴滴来看,我的观点是,它ToString()
有一个相当弱的contract
,即覆盖它(如果你愿意的话)以显示一些有意义的东西。
看到我说在那里展示了吗?我遇到的代码依赖于这种类型的实例的文本表示非常具体。添加任何超出预期的内容会导致各种问题。
所以,我的问题是,如果对象的文本表示很关键,应该ToString()
使用还是应该使用更明确的方法/属性,例如AsText
?