public static bool TryCreate(string phoneNumber, out PhoneNumber result, out string failureReason)
{
var specification = new PhoneNumberSpecification();
if (specification.IsSatisfiedBy(phoneNumber))
{
result = new PhoneNumber(phoneNumber);
failureReason = string.Empty;
return true;
}
result = null;
failureReason = specification.GetReasonsForDissatisfactionSeparatedWithNewLine();
return false;
}