Exemple #1
0
        /// <summary>
        /// Gets a random identifier based on the specified template.
        /// </summary>
        /// <param name="template">The template.</param>
        /// <param name="order">The order.</param>
        /// <param name="separator">The separator.</param>
        /// <param name="forceSingleLetter">if set to <c>true</c> [force single letter].</param>
        /// <param name="lengthRestriction">The length restriction.</param>
        /// <returns>System.String.</returns>
        /// <exception cref="ArgumentOutOfRangeException">template - null</exception>
        public string Get(IdentifierTemplate template, NameOrderingStyle order = DefaultOrderStyle, string separator = " ", bool forceSingleLetter = false, int lengthRestriction = 0)
        {
            switch (template)
            {
            case IdentifierTemplate.AnyTwoComponents:
                return(this.GetRandomTwo(order, separator, forceSingleLetter, lengthRestriction));

            case IdentifierTemplate.AnyThreeComponents:
                return(this.Get(this.GetRandomAdjective() | this.GetRandomNoun() | IdentifierComponents.FirstName, order, separator, forceSingleLetter, lengthRestriction));

            case IdentifierTemplate.BobTheBuilder:
                return(this.Get(IdentifierComponents.Profession | IdentifierComponents.FirstName, order, separator, forceSingleLetter, lengthRestriction));

            case IdentifierTemplate.PeppaPig:
                return(this.Get(IdentifierComponents.Animal | IdentifierComponents.FirstName, order, separator, forceSingleLetter, lengthRestriction));

            case IdentifierTemplate.SilentBob:
                return(this.Get(IdentifierComponents.Adjective | IdentifierComponents.FirstName, order, separator, forceSingleLetter, lengthRestriction));

            case IdentifierTemplate.GitHub:
                return(this.Get(IdentifierComponents.Adjective | IdentifierComponents.Noun, order, separator, forceSingleLetter, lengthRestriction));

            default:
                throw new ArgumentOutOfRangeException(nameof(template), template, null);
            }
        }
Exemple #2
0
 /// <summary>
 /// Gets a random identifier based on the specified template.
 /// <para>Bear in mind that enumerating the result set multiple times will yield different results</para>
 /// </summary>
 /// <param name="numberOfNamesToReturn"></param>
 /// <param name="template">The template.</param>
 /// <param name="order">The order.</param>
 /// <param name="separator">The separator.</param>
 /// <param name="forceSingleLetter">if set to <c>true</c> [force single letter].</param>
 /// <param name="lengthRestriction">The length restriction.</param>
 /// <returns>System.String.</returns>
 /// <exception cref="ArgumentOutOfRangeException">template - null</exception>
 public IEnumerable <string> Get(int numberOfNamesToReturn, IdentifierTemplate template, NameOrderingStyle order = DefaultOrderStyle, string separator = " ", bool forceSingleLetter = false, int lengthRestriction = 0)
 {
     for (int i = 0; i < numberOfNamesToReturn; i++)
     {
         yield return(this.Get(template, order, separator, forceSingleLetter, lengthRestriction));
     }
 }