Alba.Jaml.XamlGeneration.XamlGenerator.AddComplexBindingConverter C# (CSharp) Метод

AddComplexBindingConverter() приватный Метод

private AddComplexBindingConverter ( MatchCollection mSubs, string strBinding, int termPos ) : ConverterInfo
mSubs System.Text.RegularExpressions.MatchCollection
strBinding string
termPos int
Результат ConverterInfo
        private ConverterInfo AddComplexBindingConverter (MatchCollection mSubs, string strBinding, int termPos)
        {
            var sbExpr = new StringBuilder(mSubs[0].Result("$`"));
            var conv = new ConverterInfo {
                Name = string.Format(CultureInfo.InvariantCulture, "_jaml_{0}Converter", ClassName),
                SubBindings = new List<string>(),
            };
            for (int i = 0; i < mSubs.Count; ++i) {
                string strBetween = GetStringBetweenCaptures(mSubs[i], i + 1 < mSubs.Count ? mSubs[i + 1] : null,
                    strBinding, termPos);
                sbExpr.AppendFormat(CultureInfo.InvariantCulture, "(values[{0}]){1}", i, strBetween);
                string strSub = mSubs[i].Groups["SubBinding"].Value;
                conv.SubBindings.Add(
                    FormatScalarPropertyValue(FormatSimpleBindingValue(strSub) ?? strSub));
            }
            conv.Expression = sbExpr.ToString().Trim();

            EnsureConverterNameUnique(conv);
            Converters.Add(conv);
            return conv;
        }