示例#1
0
 public static RomansCatalog GetInstance()
 {
     if (instance == null)
     {
         instance = new RomansCatalog();
     }
     return(instance);
 }
示例#2
0
        private ReplacementPatternCatalog()
        {
            patterns = new List <ReplacementPattern>();

            RomansCatalog romCatalog = RomansCatalog.GetInstance();

            foreach (Roman r in romCatalog.GetAll())
            {
                Roman higher = romCatalog.Higher(r);
                if (r.Repeatable)
                {
                    if (higher == null)
                    {
                        continue;
                    }

                    StringBuilder patternBuilder = new StringBuilder();
                    patternBuilder.Append(r.Letter[0], 4);
                    patterns.Add(new ReplacementPattern(patternBuilder.ToString(), string.Concat(r.Letter, higher.Letter)));
                }
                else
                {
                    Roman lower = romCatalog.Lower(r);
                    if (lower == null)
                    {
                        continue;
                    }

                    StringBuilder patternBuilder = new StringBuilder();
                    patternBuilder.Append(r.Letter);
                    patternBuilder.Append(lower.Letter);
                    patternBuilder.Append(r.Letter);

                    StringBuilder replacementBuilder = new StringBuilder();
                    replacementBuilder.Append(lower.Letter);
                    replacementBuilder.Append(higher.Letter);
                    patterns.Add(new ReplacementPattern(patternBuilder.ToString(), replacementBuilder.ToString()));
                }
            }
        }
 public static RomansCatalog GetInstance()
 {
     if (instance == null)
         instance = new RomansCatalog();
     return instance;
 }