解析方法或重载构造函数

时间:2011-08-11 15:52:43

标签: c# .net

当编写一个接受字符串并根据它填充poco的方法时,最好是使用Parse(string s)之类的静态Int32.Parse()方法,还是重载构造函数以使它需要字符串?

3 个答案:

答案 0 :(得分:9)

我更喜欢构造函数版本,但两者都很容易,因为构造函数只能调用Parse。这是Guid结构所遵循的模式(也可能是其他结构)。

我应该补充一点,如果你没有处理struct,那么static方法可能应该引用构造函数(或者甚至是一个可以调用的单独方法),因为你可以在this构造函数中分配给class

编辑:正如TrueWill指出的那样,如果您确实包含Parse,则还应包括TryParse。顺便提一下,Guid再次具有指导意义:Parse方法实际使用TryParse,如果TryParse返回false,则会抛出异常。

答案 1 :(得分:2)

如果该方法因字符串无效而失败,我会倾向于Parse,并根据TryParse包含TryParse pattern

答案 2 :(得分:0)

我建议使用.Parse(string s)如果它是一个简单的对象,如果对象存储的值超过1-2个值你应该使用构造函数,或者换句话说,如果返回值是一个实例,则不解析对于不受解析值影响的成员。

相关问题