解析方法或重载构造函数
本文关键字:重载 构造函数 方法 | 更新日期: 2023-09-27 18:05:09
当编写一个方法,接受一个字符串,并基于它填充poco,是有一个静态的Parse(string s)
方法,如Int32.Parse()
或重载构造函数,所以它接受一个字符串?
我更喜欢构造函数版本,但包括两者都很容易,因为构造函数可以只调用Parse
。这是Guid
结构体(也可能是其他结构体)遵循的模式。
我应该补充说,如果你不处理struct
,那么static
方法应该可能引用构造函数(甚至是一个可以调用的单独方法),因为你不能在class
构造函数中分配给this
。
EDIT:正如TrueWill指出的,如果你包含Parse
,你也应该包括TryParse
。顺便说一下,Guid
再次具有指导意义:Parse
方法实际上使用TryParse
,如果TryParse
返回false
,则抛出异常。
如果方法可能由于无效字符串而失败,我倾向于使用Parse并按照TryParse模式包含TryParse。
我建议使用。parse (string s),如果它是一个简单的对象,如果对象存储超过1-2个值,你应该使用构造函数,或者换句话说,如果返回值将是一个不受解析值影响的成员的实例,则不要解析。