예제 #1
0
        protected StringBuilder ReplaceWithPropertyValue(TemplateMergeItem mergeItem, StringBuilder templateBuilder, object data, ref int processCount, ref int lengthDifference)
        {
            if (string.IsNullOrEmpty(mergeItem.Value))
            {
                return(templateBuilder);
            }

            int start  = mergeItem.Index - (BracketsPerSide + (TotalBracketsPerMatch * processCount)) - lengthDifference;
            int length = mergeItem.Length + TotalBracketsPerMatch;

            var propValue = GetPropertyForMatch(mergeItem.Value, data, ref lengthDifference);

            templateBuilder = templateBuilder.Remove(start, length);
            templateBuilder = templateBuilder.Insert(start, propValue);
            processCount++;
            return(templateBuilder);
        }
예제 #2
0
        protected StringBuilder ReplaceWithPropertyValue(TemplateMergeItem mergeItem, StringBuilder templateBuilder, object data, ref int processCount, ref int lengthDifference)
        {
            if (string.IsNullOrEmpty(mergeItem.Value))
                return templateBuilder;

            int start = mergeItem.Index - (BracketsPerSide + (TotalBracketsPerMatch * processCount)) - lengthDifference;
            int length = mergeItem.Length + TotalBracketsPerMatch;

            var propValue = GetPropertyForMatch(mergeItem.Value, data, ref lengthDifference);

            templateBuilder = templateBuilder.Remove(start, length);
            templateBuilder = templateBuilder.Insert(start, propValue);
            processCount++;
            return templateBuilder;
        }