解析方法或重载构造函数

kay*_*one 6 .net c#

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

dle*_*lev 9

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

我应该补充说,如果你不处理a struct,那么该static方法可能应该引用构造函数(或者甚至是一个可以调用的单独方法),因为你不能thisclass构造函数中赋值.

编辑:正如TrueWill指出的那样,如果你确实包括Parse,你也应该包括在内TryParse.顺便提一下,Guid再次具有指导意义:该Parse方法实际上使用了TryParse,如果TryParse返回则抛出异常false.