我需要能够检索对象的字符串版本。
例如:下面SearchCriteria
应提供“ Search Parameters: FromDate:{0}, ToDate {1}, ..
”
public class SearchCriteria
{
public string FromDate {get;set;}
public string ToDate {get;set;}
public string FromAge {get;set;}
public string ToAge {get;set;}
//other 10 properties
}
但是从我读过的其他线程来看,由于性能问题,不建议将ToString()用于长字符串。我想知道是否可以通过这种方式使用它,还是应该考虑使用私有方法。
编辑
此字符串表示形式在业务逻辑中不用于调试目的。
在文档中:“返回代表当前对象的字符串。”
如果要创建一个表示对象的字符串,那就是位置。
所以-是的!
“此字符串表示形式在业务逻辑中不用于调试目的。”
的字符串表示int
形式也用于业务逻辑。问题是该字符串表示形式是特定于该业务逻辑的,还是仅仅是该对象的一般表示形式,您将在业务逻辑中使用它。
如果特定于该特定业务逻辑,则字符串的生成应该是该业务逻辑的一部分。
如果不是,但是该对象有许多可选的字符串表示形式,则您可能需要实现IFormattable
,它定义了一种ToString
方法,该方法获取IFormatProvider
and格式的字符串作为参数。
否则,常客ToString
是您的朋友。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句