public interface IPAddress { // ... } public class IP4Address : IPAddress { // ... public static bool TryParse(string text, out IP4Address address) { // ... } } public static class IPAddressFactory { public static bool TryParse(string text, out IPAddress address) { address = null; if (IP4Address.TryParse(text, out address)) { // CS1503 return true; } return false; } }