Bespoke.DynamicDnsUpdater.Client.DomainName.Parse C# (CSharp) Метод

Parse() публичный статический Метод

public static Parse ( string domainNameString ) : DomainName
domainNameString string
Результат DomainName
        public static DomainName Parse(string domainNameString)
        {
            if(string.IsNullOrWhiteSpace(domainNameString))
            {
                throw new ArgumentException("domainName cannot be null or empty.");
            }

            domainNameString = domainNameString.TrimEnd('.');

            var segments = domainNameString.Count(character => character == '.') + 1;

            var domainName = new DomainName();

            //What about domain names such as .co.uk?
            if(segments == 1)
            {
                domainName.Tld = domainNameString;
            }
            else if(segments == 2)
            {
                //Domain + TLD
                domainName.Domain = domainNameString;
                domainName.Tld = domainNameString.Substring(domainNameString.LastIndexOf('.') + 1);
            }
            else if(segments == 3)
            {
                domainName.Host = domainNameString.Substring(0,domainNameString.IndexOf('.'));
                domainName.Domain = domainNameString.Substring(domainNameString.IndexOf('.') + 1);
                domainName.Tld = domainNameString.Substring(domainNameString.LastIndexOf('.') + 1);
            }
            else
            {
                //TODO: Support domain names with more segments.
                throw new ArgumentException("Invalid domain name");
            }

            return domainName;
        }
DomainName