Regextra.Template.FormatPartiallyDelimitedToken C# (CSharp) Méthode

FormatPartiallyDelimitedToken() private static méthode

private static FormatPartiallyDelimitedToken ( Match m, Func propertyValue ) : string
m System.Text.RegularExpressions.Match
propertyValue Func
Résultat string
        private static string FormatPartiallyDelimitedToken(Match m, Func<string> propertyValue)
        {
            /* Logic for partial escaping depends on the delimiter pairs:
             * - even/odd pairs = Reduce even sets of delimiters, retain property name
             * e.g., {{Name} => {Name}
             * e.g., {Name}} => {Name}
             *
             * - odd pairs = Reduce even sets of delimiters, use property value
             * e.g., {{{Name} => {Ahmad
             * e.g., {Name}}} => Ahmad}
             */

            var isOddPair = m.Groups[START_DELIMITER].Length % 2 != 0 && m.Groups[END_DELIMITER].Length % 2 != 0;

            var result = String.Concat(TrimPartialDelimiters(isOddPair, START_DELIMITER_CHAR, m.Groups[START_DELIMITER].Length),
                isOddPair ? propertyValue() : m.Groups[PROPERTY].Value,
                TrimPartialDelimiters(isOddPair, END_DELIMITER_CHAR, m.Groups[END_DELIMITER].Length));
            return result;
        }